- 상속에서 슈퍼클래스로 사용
#.추상메소드
-선언은 되어 있으나 코드가 구현되어 있지 않은 메소드
-abstract 키워드와 함께 원형만 선언하고 코드 작성x
ex)
public abstract String getName();
public abstract String fall() {return "Good Bye";} // 코드가 작성되어 있으므로 컴파일 오류
#.추상클래스
-abstract 키워드로 선언
-추상 메소드를 포함하는 클래스 *추상메소드가 있으면 무조건 추상클래스로 선언해야한다
-추상 메소드가 없지만 abstract로 선언한 클래스
-추상 클래스는 객체를 생성할 수 없다.
>추상 클래스는 객체를 생성할 목적으로 만드는 클래스가 아니다
>추상 클래스는 실행 코드가 없는 미완성 상태인 추상 메소드가 있을 수 있기 때문
#.추상 클래스의 상속
-상속 받는 서브 클래스는 추상 클래스가 된다. 그러므로 서브 클래스에 abstract를 붙여 추상클래스임을 명시해야한다.
#.추상 클래스 구현 및 목적
-추상 클래스 구현
>슈퍼 클래스에 선언된 모든 추상 메소드를 서브 클래스에서 오버라이딩하여 실행 가능한 코드로 구현하는 것
-추상 클래스 목적
>추상 메소드를 통해 서브 클래스가 구현할 메소드를 명료하게 알려주는 인터페이스 역할
>서브 클래스는 추상 메소드를 목적에 맞게 구현하는 다형성 실현
#.추상 클래스의 용도
-추상 클래스에 선언딘 추상 메소드를 반드시 모두 구현해야한다.
-목차를 잡아놓고 책을 쓰면 방향이 흐트러지지않고 더 쉽게 작성할 수 있 듯 응용 프로그램의 설계와 구현을 분리할 수 있다.
-계층적 상속 관계를 가지는 클래스들의 구조를 만들 때 적합
'JAVA' 카테고리의 다른 글
JAVA - 인터페이스와 추상클래스 비교 (0) | 2022.12.20 |
---|---|
JAVA - 인터페이스 (0) | 2022.12.20 |
JAVA - 캐스팅(casting) (0) | 2022.12.19 |
JAVA - final (0) | 2022.12.17 |
JAVA - static / non-static (0) | 2022.12.17 |