추상 클래스(abstract class)
- 미완성 설계도.
- 미완성 메서드(추상 메서드)를 갖고 있는 클래스
- 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가
- 상속을 통해 추상 메서드를 완성해야 인스턴스 생성가능
( 추상메서드를 구현 --> 몸통{ } 만들기)
추상 메서드(abstract method)
- 미완성 메서드.
- 구현부(몸통 { })가 없는 메서드 ---> abstract 리턴타입 메서드이름();
- 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우
- 추상 메서드 호출 가능 ( 호출할 때는 선언부만 필요)
1. 상속 통해 자손이 완성 { } ㅡ> 2. 자손 객체 생성 ㅡ> 3. 호출
abstract class Player { // 추상클래스
abstract void play(int pos); // 추상메서드 play()
abstract void stop(); // 추상메서드 stop()
}
// 상속ㄱㄱ
// 1. 완전 클래스 - 상속받은 부모클래스의 모든 추상 메서드 구현 완
class AudioPlayer extend Player {
void play(int pos) { /* 내용 생략 */ } // 추상메서드를 구현
void stop() { /* 내용 생략 */ } // 추상메서드를 구현
}
// 2. 미완성--> abstract 생략시 에러 발생
abstract class AbstractPlayer extends Player {
void play(int pos) { /* 내용 생략 */ } // 추상메서드를 구현
} // stop()은 구현 안됐음
추상클래스의 작성
- 여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하거나,
기존 클래스의 공통 부분을 뽑아서 추상클래스를 만든다.
'교육과정 기록 > ☕ Java' 카테고리의 다른 글
예외 처리 (0) | 2022.07.02 |
---|---|
람다식 -- [표준 API의 함수적 인터페이스] (0) | 2022.05.19 |
람다식 (Lambda Expressions) (0) | 2022.05.13 |
Generic (제네릭) (0) | 2022.05.11 |
외부 프로젝트를 이클립스에서 가져오기 (0) | 2022.04.27 |