1. 소개 스프링을 사용한다면 JdbcTemplate, RedisTemplate 등 `XXXTemplate`에 대한 단어를 접해봤을 것이다. 이는 모두 *템플릿 콜백 패턴*이라는 디자인 패턴을 사용한 기술들이다. 템플릿 콜백 패턴 자체가 GOF에서 소개하는 디자인 패턴은 아니지만, 스프링에서 나름대로 입맛에 맞게 재정의한 디자인 패턴이라고 보면 된다. 예시로 들었던 JdbcTemplate, RedisTemplate 처럼, 스프링의 많은 기술은 템플릿 콜백 패턴을 통해 핵심 비지니스 로직과 부가적인 기능을 분리한다. 템플릿 콜백 패턴이 어떻게 등장하게 되었는가를 보다 쉽게 이해하기 위해서 연관성이 있는 *템플릿 메서드 패턴*과 *전략 패턴*에 대해 먼저 알아보며 시작해보자. 우선 현재 예제 프로젝트의 문제..