Java
70. 추상 클래스, 추상 메서드 - 패스트캠퍼스 백엔드 부트캠프 3기
gkss2tpt
2024. 12. 23. 12:17
1. 추상 클래스(abstract class)
- 미완성 설계도, 미완성 메서드를 갖고 있는 클래스
abstract class Player { // 추상클래스(미완성 클래스)
abstract void play(int pos); // 추상메서드(몸통{}이 없는 미완성 메서드)
abstract void stp(); // 추상메서드
}
- 다른 클래스 작성에 도움을 주기 위한 것(인스턴스 생성 불가)
Player p = new Player(); // 에러 추상 클래스의 인스턴스 생성 불가
class AudioPlayer extends Player {
void player(int pos) { /* 내용 생략 */ } // 추상메서드를 구현
void stop() { /* 내용 생략 */ } // 추상메서드를 구현
}
AudioPlayer ap = new AudioPlayer(); // OK.
2. 추상 메서드(abstract method)
- 미완성 메서드, 구현부(몸통, {})가 없는 메서드
abstract 리턴타입 메서드이름(); // 추상메서드
// 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우
abstract class Player { // 추상 클래스
abstract void play(int pos); // 추상 메서드
abstract void stop(); // 추상 메서드
}
class AudioPlayer extends Player {
void play(int pos) { /* 내용 생략 */ } // 추상 메서드를 구현
void stop() { /* 내용 생략 */ } // 추상 메서드를 구현
}
abstract class AbstractPlayer extends Player {
void play(int pos) { /* 내용 생략 */ } // 추상 메서드를 구현
// 물려받은 메서드를 모두 사용하지 않아 미완성임을 알리는 abstract class
}