추상클래스란?
- 추상 클래스로 인스턴스를 생성할 수 없다.
- 추상클래스는 상속을 통해서 자손클래스에 의해서만 완성될 수 있다.
abstract class 클래스이름 {
// ...
}
추상메서드
: 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨 둔 것
/* 주석을 통해 어떤 기능을 수행할 목적으로 작성하였는지 설명한다. */
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를 사용하지 않아도 되지만 굳이 사용하는 이유는 자손 클래스에서 추상메서드를 반드시 구현하도록 강요하기 위해서.
'Language > java' 카테고리의 다른 글
Java_Study 객체지향 프로그래밍_내부 클래스 (0) | 2022.07.07 |
---|---|
Java_Study 객체지향 프로그래밍_인터페이스 (0) | 2022.07.07 |
Java_Study 객체지향 프로그래밍_다형성(polymorphism) (0) | 2022.07.06 |
Java_Study 객체지향 프로그래밍_제어자(modifier) (0) | 2022.07.06 |
Java_Study 객체지향 프로그래밍 (패키지) (0) | 2022.07.04 |
댓글