Template Method Pattern
알고리즘의 구조를 슈퍼클래스에서 정의하고, 세부적인 구현은 서브클래스에서 담당하도록 하는 디자인 패턴이다. 이 패턴은 코드의 중복성을 줄이고 알고리즘의 변하지 않는 부분과 변해야 하는 부분을 분리하는 데 유용하다. Motivation 온라인 교육 플랫폼에서 강의 과정의 진행 단계를 표준화하려고 한다. 모든 과정은 다음 단계를 따른다고 하자. 강의 자료 준비 강의 진행 과제 제출 성적 평가 하지만, 강의 유형에 따라 세부적인 구현이 다르다. 템플릿 메서드를 정의하여 강의 과정의 공통된 흐름을 유지하여, 알고리즘의 흐름을 변경하지 않고 세부 구현만 변경할 수 있으며, 중복 코드를 제거할 수 있다....