인프런 커뮤니티 질문&답변

taeu kim님의 프로필 이미지
taeu kim

작성한 질문수

스프링 핵심 원리 - 기본편

프로토타입 스코프

init, close는 어떻게 동작하길래 콜백메소드라고 하는가요?

작성

·

310

0

콜백함수는 callee가 caller를 호출하는 것으로 알고 있습니다. init, close 같은 경우 내부적으로 어떻게 동작하길래 콜백메소드라고 부를 수 있는 건가요?
어디서 누가 init 과 close를 가지고 갔다가 호출하는건가요? 함수가 어디에서 어디로 넘어가는건지도 궁금합니다.

답변 1

2

안녕하세요. taeu kim님, 공식 서포터즈 David입니다.

 

아래는 콜백, 콜백 함수의 정의입니다. 참고해주세요.

https://en.wikipedia.org/wiki/Callback_(computer_programming)

 

스프링의 경우 스프링 빈을 초기화할 때 빈의 메타정보도 함께 넘깁니다.

스프링 빈 초기화가 끝나면 함께 넘겨준 빈의 메타정보에서 init 메서드명을 가져와 호출하게 됩니다.

즉, 빈의 메타정보에는 초기화가 끝난 후 '콜백'되어야 할 init 메서드명을 갖고 있습니다.

 

따라서, init과 close를 콜백 메서드라고 부르는 것입니다.

 

자세한 동작은 AbstractAutowireCapableBeanFactory.initializeBean 메서드를 참고해주세요.

 

감사합니다.

taeu kim님의 프로필 이미지
taeu kim

작성한 질문수

질문하기