CHAPTER 11 템플릿 메서드 패턴 - daybreak6/java-design-pattern GitHub Wiki

템플릿 메서드 패턴(Template Method Pattern) 은 전체적으로는 동일하면서 부분적으로는 다른 구문으로 구성된 메서드의 코드 중복을 최소화할 때 유용하다. 다른 관점에서 보면 동일한 기능을 상위 클래스에서 정의하면서 확장/변화가 필요한 부분만 서브 클래스에서 구현할 수 있도록 한다.

image

  • AbstractClass : 템플릿 메서드를 정의하는 클래스.하위 클래스에 공통 알고리즘을 정의하고 하위 클래스에서 구현될 기능을 primitive 메서드 또는 hook 메서드로 정의히는 클래스다.
  • ConcreteClass : 물려받은 primitive 메서드나 hook 메서드를 구현하는 클래스.상위 클래스에 구현된 템플릿 메서드의 일반적인 알고리즘에서 하위 클래스에 적합하게 primitive 메서드나 hook 메서드를 오버라이드하는 클래스다.