변하지 않는 부분은 템플릿 역할을 합니다. 그리고 변하는 부분은 파라미터로 넘어온 코드를 실행해서 처리한다. 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 콜백이라고 한다.
Callback: 프로그래밍에서 콜백은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드이다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다.
*자바 언어에서 콜백*
*템플릿 콜백 패턴*
Context 문맥 → 변하지 않는 부분이 템플릿 역할을 하고, 콜백을 실행할 때 마다 Strategy 전략의 달라지는 부분이 콜백으로 넘어오는 것
즉 코드 조각을 넘기고 조립하는 것으로 생각하면 된다. 스프링에서는 JdbcTemplate , RestTemplate , TransactionTemplate , RedisTemplate 처럼 다양한 템플릿 콜백 패턴이 사용된다.