[디자인 패턴] 템플릿 메소드 패턴
가끔 구현하다 보면 그럴일이 있다.
상속관계의 클래스들이 전부 크게는 같은 동작을 하지만, 작게는 구현이 다를 경우.
그럴 때 쓰는 것이 템플릿 메소드다.
템플릿 메소드는 최상위 클래스, 혹은 추상클래스에 구현을 두는 메서드다.
템플릿 메소드 자체는 오버라이딩을 하지 않아야 한다.
그리고 템플릿 메서드에서는 동일 클래스 내의 아직 구현되지 않은 추상 메서드나 일반 메서드 등을 호출한다!
추상 메서드나 그냥 메서드들은 당연히 오버라이딩이 되어야 하는 부분이다.
템플릿 메소드 패턴에선 이 세부 메서드들에 의해 확장이 이루어진다.
아래는 템플릿 메서드의 형태를 자바코드로 간단히 표현한 것이다.

템플릿 메서드는 오버라이딩이 되면 안되므로, final을 붙여 미연에 방지하는 것이 바람직하다.
그렇다.