Superclass = 상위클래스. 부모클래스
http://tutorials.jenkov.com/java/abstract-classes.html
Abstract Class는 바로 인스턴스화 될수 없다.
Abstract Class는 서브클래스에서 구현해야하는 Abstartc Method와, 로직이 구현된 Method를 동시에 가진다.
(이런 점이 인터페이스와는 다르다!)
어떻게 쓸 수 있을까!
공통적으로 실행하는 로직을 묶을수 있다.
- 예를들어.. 소켓통신 API를 구현한다고 했을때, 소켓을 열고, 닫고하는 부분을 추상클래스의 메서드로 구현해놓고.
서브클래스에서 비즈니스 로직만 구현을 하면 API 가져다 쓰는 입장에서는 소켓통신하는 부분을 신경쓰지 않아도 된다.
public abstract class MyAbstractProcess {
public void process() {
stepBefore();
action();
stepAfter();
}
public void stepBefore() {
//implementation directly in abstract superclass
}
public abstract void action(); // implemented by subclasses
public void stepAfter() {
//implementation directly in abstract superclass
}
}
Interface + Abstract Class in jdk
'Today I learned' 카테고리의 다른 글
Concurrency Patterns (0) | 2021.08.09 |
---|---|
Java Synchronization (0) | 2021.08.06 |
재사용 가능한 디자인 패턴 기반 코딩기술 강의 정리 - Interface (0) | 2021.08.02 |
재사용 가능한 디자인 패턴 기반 코딩기술 강의 정리 - Delegation (0) | 2021.08.02 |
재사용 가능한 디자인 패턴 기반 코딩기술 강의 (2) (0) | 2021.07.31 |
댓글