Template Method 패턴은 기반 클래스에서 알고리즘의 골격을 정의하고, 서브클래스가 전체 구조를 변경하지 않고 특정 단계를 채우게 합니다. 공통 프로세스를 포착하면서 개별 단계의 커스터마이징을 허용합니다.
Template Method 패턴이 하는 일
TEMPLATE METHOD → 기반 메서드에서 알고리즘의 전체 구조를 정의하고, 일부 단계를
서브클래스가 구현하도록 남김:
→ 기반 클래스가 전체 흐름을 제어함 ("템플릿")
→ 서브클래스가 특정 단계를 오버라이드함 (변하는 부분)
→ 알고리즘의 구조는 고정됨; 단계는 커스터마이징 가능
→ "공통 프로세스, 커스터마이징 가능한 단계"
예시
{
() {
data = .();
result = .(data);
.(result);
}
() { ; }
() { ; }
() { ; }
}
{ () {...} () {...} () {...} }
