9. MVC 패턴
Last updated
Last updated
(다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 콜백(callback)이라고 함.)
**콜백**
프로그래밍에서 콜백(callback) 또는 콜애프터 함수(call-after function)는 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백을 넘겨받는 코드는 이 콜백을 필요에 따라 즉시 실행할 수도 있고, 아니면 나중에 실행할 수도 있다.
자바 언어에서 콜백
자바 언어에서 실행 가능한 코드를 인수로 넘기려면 객체가 필요함. 자바8부터는 람다를 사용할 수 있음.
자바 8 이전에는 보통 하나의 메서드를 가진 인터페이스를 구현 후 주로 익명 내부 클래스를 사용했음. --> 최근엔 람다 사용
템플릿 콜백 패턴
스프링에서는 ContextV2 같은 방식의 전략 패턴을 템플릿 콜백 패턴이라고 함.
참고로 템플릿 콜백 패턴은 GOF 패턴은 아니고, 스프링 내부에서 이런 방식을 자주 사용하기 때문에, 스프링 안에서만 이렇게 부른다. 전략 패턴에서 템플릿과 콜백 부분이 강조된 패턴이라 생각하면 됨.
스프링에서는 JdbcTemplate
, RestTemplate
, TransactionTemplate
, RedisTemplate
처럼 다양 한 템플릿 콜백 패턴이 사용된다. 스프링에서 이름에 **XxxTemplate**
가 있다면 템플릿 콜백 패턴으로 만들어져 있다 생각하면 된다.