• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

22.05.13 13:18 작성 조회수 262

0

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

답변 1

답변을 작성해보세요.

2

David님의 프로필

David

2022.05.14

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

 

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

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

 

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

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

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

 

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

 

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

 

감사합니다.