새로 입사한 회사에서 프로그래밍 중 제가 템플릿 메서드 패턴과 전략 패턴을 구분 없이 사용하고 있다 라는 피드백을 받았습니다. 사실 디자인 패턴에 대해 공부를 해보지 않았기 때문에 이 기회를 삼아 한번 정리해보고자 합니다. 제가 회사에서 보았던 코드는 아래와 같이 입력된 값에 의해서 구현체가 달라지는 상황이 었습니다. 아래 코드를 보고 무슨 패턴이지? 라고 생각이 드신다면 이 글을 보시며 함께 공부하면 좋겠습니다! public class Main { public static void main(String[] args) { String input = "a"; Strategy strategy; if (input.equals("a")) { strategy = new StrategyClass1(); } else..