프로그램 코드를 작성하며 비슷한 규격의 코드가 반복 될 때, 프로그램의 핵심 기능과 부가 기능을 나누고 싶을 때 TemplateMethod Pattern을 사용한다. 학습 테스트를 통해 알아보자. 위 메서드의 대해 간단하게 훑어보자면 비지니스 로직을 실행하는 핵심기능과 메서드의 시작시간과 종료시간을 구해 메서드 실행시간을 구하는 부가기능이 공존하는 메서드다. 비지니스 로직을 수행하는 핵심기능은 각 logic별로 다르지만 시작시간과 종료시간을 구해 실행시간을 구하는 부가 기능은 logic1과 logic2 모두 같다. 이러한 비슷 규격의 코드를 템플릿화 시켜 변경되는 부분만 템플릿에 맞춰 사용하는 패턴이 템플릿메서드 패턴이다. 학습테스트에 적용해보자 Abstract Class에 골격이되는 템플릿메서드를 작성..