최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

   callback 함수

[1] 콜백 함수 : 특정이벤트가 발생하면 호출 되는 함수.
[2] 일반적으로는 함수의 호출은 다음과 같지만

 

호출자(Caller)            --------->         피호출자(Callee)
 //(개발자에 의해 정의된 함수)
     
'콜백 함수'의 경우에는 

 

호출자(Caller)            <-------------         피호출자 (Callee) //(시스템에 의해 호출되는 함수)
 


[3] 예를 들자면

 

 

첫번째 상황.

철수와 영희가 놀이터에서 놀고있습니다. 철수는 엄마가 오후1시까지 집에 들어오라는 말을 듣고
시계에게 몇시인지 수시로 물어보다가 1시가되자 집으로 돌아갔습니다.

두번째 상황.

철수와 영희가 놀이터에서 놀고있습니다. 철수는 엄마가 오후1시까지 집에 들어오라는 말을 듣고
시계에게 후1시가 되면 알려달라고 한후 시계가 1시임을 알려주자 집으로 돌아갔습니다.

일단 위에서는 시계를 사람처럼 표현했습니다. 

실제로는 
첫번째는 철수가 영희와 놀다가 수시로 시간을 확인한 것이고,
두번째는 오후1시로 알람을 맞추고 영희와 논것입니다. 

위의 예처럼 어떤 정보를 원하는 쪽이 정보를 제공하는 쪽에게 반복적으로 정보를 요구(또는 확인)하는 방법보다
정보를 제공하는 쪽이 정보를 원하는 쪽에게 통보하는 것이 효율적일 것입니다.

이런 상황에서 사용하면 좋은 것이 callback함수라고 보시면 됩니다. 

 

 


 

위의 그림처럼 루프가 돌고 있는 상황에서 시스템은 특정 상황인지를 수시로 체크하다가 그 특정 상황이 되면 지정된 

메소드를 호출 하게 되는것이죠.    

 

출처 : http://blog.daum.net/hyunggullee/52

 

 

댓글