Call-Back, Callback   콜백

(2019-02-07)

Callback Function, 콜백 함수

1. [프로그래밍]  콜백 기법

  ㅇ 호출하는 쪽과 호출받는 쪽이 반전되어짐 (제어권 역전)

  ㅇ 사용 방식
     - 호출자가 호출하는 함수에 콜백 함수를 인수로써 전달하고,
     - 인수로써 전달받은 그 콜백 함수를 호출된 함수의 내부에서 실행시킴

  ㅇ 콜백 함수는,
     - 다른 함수에 인수로써 넘겨질 수 있는 함수
        . 즉, 함수(또는,객체)를 매개변수로써 전달하고서,
        . 그것으로하여금 역 호출 등을 하게 함
     - 이때, 인수(콜백 함수)로써 넘겨 받은 호출된 함수는,
        . 그 인수(콜백 함수)가 작업하는 내용에는 관여하지 않음

  ㅇ 특징
     - 제어권을 콜백 함수에 부여 가능 (제어 역전)
        . 호출되는 다른 함수에 인수로써 넘겨지는 콜백 함수의 경우에,
        . 호출되는 함수 쪽에서 인수로써 넘겨진 콜백 함수에게 제어권을 부여하게  됨
     - 콜백 함수의 선택 주체는 호출자
        . 어떤 콜백 함수를 쓸지는 호출자의 고유 권한 임
     - 호출된 함수는 콜백 함수의 작업 내용에 관여 안함 
        . 호출된 함수는 콜백 함수를 실행하지만,
        . 그 콜백 함수가 작업하는 내용에는 관여하지 않게됨
     - 콜백 함수의 사용 시기
        . 주로, 특정 이벤트(성공,실패,종료 등) 발생시, 그에 맞춘 콜백 함수를 수행

  ㅇ 例) 콜백 함수를 사용한 비동기식 처리 모델 (JavaScript에서 빈번히 사용됨)
     - 여기서, 비동기식 처리 모델이란, 
        . 호출될 콜백 함수를 미리 파라미터(매개변수)로써 전달해 놓고, 
        . 특정 이벤트(처리 종료 등)가 발생하면,
        . 콜백 함수를 호출케 하는 것


2. [일반 전화]  콜백 서비스

  ㅇ 걸려온 전화를 끊은 후에 다시 발신자에게 전화를 되걸어주는 것

  ㅇ 국제전화 콜백 서비스
     - 두 나라 사이의 국제 전화 요금이 차이가 나는 것을 이용
     - 주로, 요금이 싼 나라(미국 등)의 사업자들이 요금이 상대적으로 비싼 나라(통신사업을
       독점하거나 국가에서 운용 등)에 진출하여, 그 나라의 가입자가 거는 국제 전화를
       콜백 기능에 의해 자기 나라의 발신으로 처리해 주고 요금을 받는 형태
     - 즉, 국제 전화 요금이 비싼 측에서 전화를 거는 경우에, 호출 신호만을 보낸 뒤 끊으면
       상대측에서 되걸어 주는 등의 방법으로 전화 요금을 싸게하고 그 대가를 받는 서비스


[부프로그램/함수/프로시저] 1. 부 프로그램 2. 함수 3. 함수 선언/정의/호출 4. 함수 인수 5. 콜백 함수 6. 블록 구조 7. 클로저

 
        최근수정     요약목록     참고문헌