1. 템플릿 메서드 패턴이란?
- 여러 공통으로 사용하는 메서드를 템플릿화하여 상위 클래스에서 정의
- 하위 클래스마다 세부 동작 사항을 다르게 구현
- 변하지 않는 기능은 상위 클래스에 만듦
- 자주 변경되며 확장할 기능은 하위 클래스에서 만듦
장점
- 큰 알고리즘의 특정 부분만 재정의하도록 하며, 알고리즘의 다른 부분에 발생하는 변경 사항의 영향을 덜 받음
- 상위 추상클래스로 로직을 공통화하여 코드의 중복을 줄일 수 있음
단점
- 유연성의 제한될 수 있음
- 알고리즘 구조가 복잡할수록 템플릿 로직 형태를 유지하기 어려워짐
- 추상 메소드가 많아지면서 클래스의 생성, 관리가 어려워질 수 있음
아직은 어렵게 느껴지는 패턴. 다음에 공부할 것
참고
https://refactoring.guru/ko/design-patterns/template-method