Template Method Pattern 특징 템플릿 메소드에서는 알고리즘의 단계들을 정의하는데 일부 단계들은 서브클래스에서 구현하도록 한다. 후크(Hook)는 추상 클래스에 들어있는 아무 일도 하지 않거나 기본 행동을 정의하는 메소드로, 서브클래스에서 오버라이드 할 수 있다. 헐리우드 원칙에 의하면, 저수준 모듈을 언제 어떻게 호출할지는 고수준 모듈에서 결정하는 것이 좋다. 팩토리 메소드 패턴은 일종의 특화된 템플릿 메소드 패턴이다. 스트래티지 패턴과 템플릿 메소드 패턴은 모두 알고리즘을 캡슐화하는 패턴이지만 전자에서는 전자는 구성을, 후자는 상속을 한다. 구성 내용 Template Method Pattern 어떤 작업 알고리즘의 골격을 정의한다. 일부 단계는 서브 클래스에서 구현하도록 할 수 있다. 템플릿 메소드를 이용하면 알고리즘의 구조는 그대로 유지하면서 특정 단계만 서브클래스에서 새로 정의하도록 할 수 있다.