본문 바로가기

프로그래밍이야기/기타 등등

헷갈리는 콜백(CallBack)함수

반응형

콜백함수란 API 의 반대개념이라고 볼 수 있다고 한다.
또한 말그대로 콜백! CallBack으로 반대로 부른다고 해석할 수 있지요.

우리는 작성하는 일반 코드내에서 
보통 API  SDK에서 제공해주는 함수(Function)들을 호출(Call)하여 사용하곤 한다.
이런 방식의 경우, 어떤 이벤트를 제어하기 위해서는 별도의 쓰레드를 생성하여 무한루프로 실시간 검사하는 꽤나 무겁고 살짝 무식한 프로그램들을 만들어야한다.

보통 이럴때, 사용하는 것이 콜백(CallBack) 함수.
물론 시스템상 CallBack함수를 만들어 등록하는 방식이 제공되어야 한다.
Windows 프로그램상에서 On??Event()를 통해 등록하는 방식이나, 안드로이드 상에서 Listener를 등록하는 방식이 이와 같다.

통상적으로 쓰듯이 우리가 시스템상의 함수를 Call하는 것이 아니라, 시스템에서 우리가 만들고 등록한 함수를 Call하는 방식.

아무래도 API와 반대 의미라고 생각하면 간단해지는듯 합니다.
윈도우를 따져보면 메시지 루프에 자신이 특정 메시지를 넣고, 특정 이벤트 발생시 호출한다는 개념으로 생각할 수도 있겠다.

반응형