본문 바로가기

전생의 기억/공통

콜백 함수 (CallBack Function)

Callback 함수란, 함수의 호출 실행 시점을 프로그래머가 아닌 시스템에서 결정하는 함수를 콜백(CALLBACK) 함수라 한다.


보통 프로그램에 짜여진 함수는 사용자(개발자)에 의해 버튼을 클릭하거나, 특정 로직에 따라서 필요로 할때 클래스 함수를 호출하거나, 클래스를 인스턴스화 하여 함수를 호출한다.


callback 함수는 사용자에 의해서 호출되는것이 아니라, 비동기 처리와 같이, 언제 작업이 완료될지 모르는 상황에서 함수가 적정 시기에 호출될 수 있도록 등록하여 시스템에 의해서 호출된다. 이것이 일반 함수와 callback 함수의 가장 큰 차이점이다.


보통 callback 함수는 특정 함수 A의 파라미터로 전달되어지며, A 함수에서 얻어진 데이터 등을 callback함수의 파라미터로 하여 호출하는 식으로 많이 사용된다.


Java의 경우, Callback 함수와 같이 주로 Interface 를 사용하여, Callback 함수를 오버라이딩 하여 반드시 구현하도록 하는 방식의 코딩패턴을 사용한다.