Java(폐지)/디자인 패턴
템플릿 메서드 패턴(Template Method Pattern)
kyeongjun-dev
2020. 8. 4. 17:32
템플릿 메서드 패턴:템플릿 메서드와 훅(hook) 메서드가 존재하는 패턴
템플릿 메서드
상위 클래스에 공통 로직을 수행하는 메서드
훅(hook) 메서드
선택적으로 오버라이딩할 수 있는 메서드
예시 코드
- Animal.java
package templeteMethodPattern;
public abstract class Animal {
// 템플릿 메서드
public void playWithOwner() {
System.out.println("이리온");
play();
runSomething();
System.out.println("잘했어");
}
// 추상 메서드
abstract void play();
// hook 메서드
void runSomething() {
System.out.println("꼬리 흔들기");
}
}
간단 정리
템플릿 메서드와 훅(hook) 메서드가 존재하면 템플릿 메서드 패턴이다.
추상 메서드와 훅 메서드의 차이점은, 하위 클래스에서 상속 받았을 때 구현을 강제로 하느냐 마느냐의 차이다.
쉬운 예제로 설명해 놓으신 블로그가 있어서 주소를 남긴다