템플릿 메소드 패턴은 동작 상의 알고리즘의 프로그램 뼈대를 정의하는 행위 디자인 패턴이다. 템플릿 메소드 패턴은 여러 작업들이 동일한 구조를 갖지만, 일부 동작은 각각 다르게 구현해야할 때 사용된다.
템플릿 메소드 패턴은 전체 실행과정을 구현한 상위 클래스(추상 클래스)와 실행 과정의 일부 단계를 구현한 하위 클래스(구체클래스)로 나뉘며, 추상 메서드를 재정의함으로써 알고리즘의 구조를 변경하지 않고 알고리즘의 특정 단계들을 다시 정의할 수 있게 해준다
예시 코드
사람(Human) 클래스가 있다. 사람은 밥먹기, 잠자기, 코딩하기 메서드를 공통으로 가지고있고 사람마다 다른 방법으로 자기소개를 할 수 있다.
김은빈과 김금빈은 Human이라는 추상 클래스를 상속받아 3개의 공통 메소드를 가지고있고, 자기소개 메소드를 상세하게 구현하고있다. 이러한 템플릿 메소드 패턴은 중복코드를 줄여준다는 장점이 있다.
이 링크로 가면 코드를 볼 수 있다.