JAVA
[OOP] 추상클래스
ewok
2023. 3. 8. 14:54
추상클래스
클래스가 설계도라면, 추상클래스는 미완성 설계도라고 할 수 있으며 미완성 메서드를 포함하고 있다.
- 추상클래스로는 인스턴스를 생성할 수 없다.
- 다른 클래스를 작성하는 데 도움을 주기 위해 작성된다.
abstract class 클래스명 {
...
}
추상메서드
선언부만 작성하고 구현부는 작성하지 않은 채로 남겨둔 미완성 메서드
- 꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우에 사용한다.
- 추상클래스를 상속받는 자손클래스에서 추상메서드의 구현부를 완성해야 한다.
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) { ... } // 추상메서드를 구현
}
추상클래스의 작성
여러 클래스에 공통적으로 사용될 수 있는 추상클래스를 바로 작성하기도 하고, 기존의 클래스의 공통적인 부분을 뽑아서 추상클래스로 만들기도 한다.
추상화 클래스 간의 공통점을 찾아내서 공통의 조상을 만드는 작업
구체화 상속을 통해 클래스를 구현, 확장하는 작업