<aside>

템플릿 메서드 패턴 추가 설명

</aside>

템플릿 메서드 패턴의 핵심 아이디어

"알고리즘의 구조는 상위 클래스에서 정하고, 구체적인 내용은 하위 클래스에서 구현한다." → 전체적으로 수행할 일의 순서나 구조는 정해져 있지만, 그 과정의 특정 단계들이 구현에 따라 달라질 수 있들 때 사용 ⇒ 순서만 정하고, 세부적인 구현은 구상체들이 한다

주요 구성 요소

  1. 추상 클래스 (Abstract Class)

  2. 구체(구상) 클래스 (Concrete Class)


비유로 이해하기

Worker라는 추상 클래스가 있고, **PrepareForWork()**라는 템플릿 메서드가 있다

  1. WakeUp() : 모든 직장인 공통 → 일반 메서드
  2. Wash() : 모든 직장인 공통 → 일반
  3. GetDressed() : 사람마다 갈아 입는 옷이 다름 → 추상 메서드
  4. EatBreakfast() : 선택 사항 → 훅 메서드