java 디자인 패턴 - 템플릿 메서드 패턴

바퀴달린 개발자·2021년 11월 15일
0

: 실행과정, 단계는 동일한데 각 단계 중 일부의 구현이 다른 경우에 사용할 수 있는 패턴

  1. 실행 과정을 구현한 상위 클래스
  2. 실행 과정의 일부 단계를 구현한 하위 클래스

일부 구현이 다른 부분에 보통 추상 메서드로 구현한다.
객체를 생성하는 단계에서는 동일한 내용을 구현함. 이 때 모든 하위 타입에 동일하게 적용되는 실행 과정을 제공하기 때문에, 이 메서드를 템플릿 메서드라고 부란다.

이는 코드 중복문제 제거 + 코드 재사용 가능하게 함.

상위 클래스가 흐름 제어 주체

일반적인 경우 하위 타입이 상위 타입의 기능을 재사용할지 여부를 결정한다. 하지만 템플릿 메서드는 상위 클래스에서 흐름 제어를 한다.

이렇게 상위 클래스에서 실행 시점이 제어되고, 기본 구현을 제공하면서, 하위 클래스에서 알맞게 확장할 수 있는 메서드를 '훅 메서드'라고 한다.

템플릿 메서드와 전략 패턴의 조합

두 패턴을 함께 사용하면 상속이 아닌 조립의 방식으로 템플릿 메서드 패턴을 활용할 수 있다.

0개의 댓글