다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 '콜백'이라 한다.
JdbcTemplate, RestTemplate, TransactionTemplate, RedisTemplate 등 XxxTemplate의 이름을 자주 보게 되는데, 이들 모두 템플릿 콜백 패턴으로 구현돼있다고 생각하면 된다.템플릿 메서드 패턴, 전략 패턴, 템플릿 콜백 패턴 모두 변하는 코드와 변하지 않는 코드를 분리하기 위한 시도들이었다.
하지만 이 패턴들은 아무리 최적화를 해도 결국 context를 호출하는 클라이언트 원본 코드에서
코드를 모두 수정해야 한다는 점은 마찬가지다.
원본 코드를 손대지 않기 위해선 '프록시'의 개념을 알아야 한다.