디자인 패턴 - 템플릿 메서드 패턴(Template Method Pattern)
템플릿 메서드 패턴은 상위 클래스에서 처리의 흐름을 제어하며, 하위 클래스에서 처리의 내용을 구체화하는 것을 말한다. 코드의 중복을 줄이고, 리팩토링에 유리한 패턴으로 상속을 통한 확장 개발 방법으로써 많이 사용되는 패턴중에 하나이다. 즉 쉽게 말해 프로그램 흐름의 틀을 만드는 것이다. 템플릿 메서드 패턴을 이해하기 위해 먼저 Hook 메서드가 무엇인지 알아보자 훅(갈고리 : hook) 메서드란 ? abstract 키워드를 붙이면 상속 받은 클래스는 반드시 해당 메소드를 구현해야 하지만 abstract 키워드를 붙이지 않고 훅 메소드로 만들면 반드시 구현할 필요가 없다. 상속 받은 클래스에서는 선택적으로 오버라이드할 수 있다. 아래 예제를 보면 speak() 메서드는 추상 클래스에서 구현이 되어 있기 때..