Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- #HTML4.01또는 5의 차이 #parsing #웹브라우저 #form 태그 #태그 속성 #id #name
- #자바 #스윙관련 함수 #API보고 정리했음
- #BigDecimal
- #리뷰 #CSS #선택자
- #자바
- #오라클 #계정 생성 #테이블 #생성 #조회 #추가
- #스윙 #함수 #Swing
- #Web #웹 #jsp #servlet
- #jdbc #자바
- #오라클 #함수 #MAX() #MIN() #LPAD() #SUBSTR() #TO_CHAR() #복사 #지우기 #수정
- #돔 트리 #form 태그 #이스케이프문자 #시작태그 #form태그
- #웹 #정의 #5대 브라우저 #
- #오라클 #11g #테이블
- #자바 #오라클 #JDBC
- #자바 #오라클 #연동
- #자바 #파일 #함수
- #웹 #중요한 것
- #StringBuffer #자바 #
- #함수 #VIEW #시퀀스 #INDEX
- #스프링 프레임 워크 #인코딩 #컨텍스트 #환경설정
- #함수 #키워드 #조인 #서브쿼리
- #제약 조건 #함수 #컬럼 변경 #테이블 변경& 삭제
- #Ajax #EL #JSTL
- #웹 #HTTP 프로토콜
- #오라클 #용어 정리 #데이터 타입 #비교 연산자 #논리 연산자 #SELECT 문
- #48일차 #한 내용 #요약
- #자바 #입출력
- #오라클 #자바 #연동
- #프로그래밍 기초
- #자바 #입출력 #함수
Archives
- Today
- Total
IT journey
13일차 추상클래스, 인터페이스 본문
728x90
반응형
직접 내용 정리하고 만든 예이니 퍼가실 때는 출처를 남겨주세요 :)
아래에 있는 이전 발행글을 참고하시면 소스코드를 작성하는데 도움이 됩니다.
728x90
추상클래스
1. Overriding(오버라이딩)은
상속 관계에서 일어나는 일입니다. 이 때의 키워드는 extends , implements입니다.
오버라이딩 한 함수 위에는 @Override라고 써 주어야 합니다.
2. 추상클래스를 사용하고자 할 때에는 상속하는 방법이 있습니다.
추상클래스가 클래스이므로 extends 키워드를 사용해서 상속해야 하며,
추상클래스를 상속하면 자식 클래스에 추상함수는 꼭 오버라이딩을 해주어야 합니다.
3. 추상함수를 만들려면 클래스도 추상 클래스여야 합니다.
추상함수는 함수에 {} 없습니다. 이를 사용할 때는, 추상 클래스를 extends 키워드를 이용해 상속 후 자식클래스에 추상 함수를 오버라이딩해서 {}를 추가해서 구현체를 만듭니다.
물론, 추상클래스에서도 일반함수를 쓸 수 있습니다.
package a.b.c.example;
public class AbstractEx extends AB
{
@Override
public void ab(){
System.out.println("추상함수를 자식클래스로 오버라이딩할 때 abstract 키워드 제거");
}
public static void main(String[] args) {
//TODO Auto-generated method stub.
// 부모클래스 참조변수 = new 자식클래스();
AB ab1 = new AbstractEx();
ab1.ab();
AB.abStatic();
}
}
abstract class AB
{
public abstract void ab();
public void abM(){
System.out.println("추상클래스 AB에 있는 일반함수 abM()");
}
public static void abStatic(){
System.out.println("static 일반함수 abStatic()으로 변경금지");
}
}
인터페이스
1. 인터페이스 클래스는 상수와 추상함수가 합쳐진 형태로 생각하면 됩니다.
이 때, 상수는 public final 데이터타입 대문자_대문자 = 리터럴; 로 씁니다.
추상함수는 [접근제한자] 리턴형 함수이름(); 으로 씁니다.
2. 인터페이스 클래스에 있는 추상함수를 쓸 때는 인터페이스클래스이름Impl에 구현체를 만들어서 사용해야 합니다.
package a.b.c.example;
public class Thanks implements G_interface, A_interface
{
@Override
public void g(){
System.out.println("고마워요, g함수");
}
@Override
public void a(){
System.out.println("이건 a()함수입니다.");
}
public static void main(String[] args) {
G_interface gi = new Thanks();
gi.g();
A_interface ai = new Thanks();
ai.a();
}
}
interface G_interface
{
public void g();
}
interface A_interface
{
public void a();
}
쓰는 이유
추상클래스와 인터페이스를 쓰는 이유는 자원을 상속해서 쓰기 위해서입니다.(다시 말해, 재사용이 아주 유용하다는 것입니다.)
728x90
반응형
'끄적끄적 > JAVA' 카테고리의 다른 글
15일차 참조변수 (12) | 2021.07.17 |
---|---|
14일차 생성자 (8) | 2021.07.15 |
12일차 제어문 3편,배열 2편, 상속 (3) | 2021.07.13 |
11일차 제어문 2편, 배열 1편 (6) | 2021.07.12 |
7일차 자바 실습 예제 (8) | 2021.07.06 |
Comments