구글링을 해본 결과 callback function은 두가지 의미를 가지고 있었다.
즉, 콜백함수는 다음과 같이 정의 할 수 있다.
- 다른 함수의 인자(argument)로써 쓰여지는 함수
- 어떤 이벤트 이후에 호출 되어지는 함수
function sayHello(name) {
console.log('Hello ' + name);
}
// 다른 함수 자체를 매개변수로 받음
function getName(callBackFn) {
callBackFn('철수');
}
getName(sayHello); // Hello 철수
위의 예제코드를 두가지 경우로 설명해 보겠다.
getName함수는 callBackfn이라는 함수를 매개변수로 가지고 있다.
실제로 getName을 사용 할때는 getName(sayHello);와 같이 다른 함수를 가져다와 사용하고 있다.
callback 함수는 영어 뜻 그대로 나중에 불러달라는 소리이다. called at the back이라고 풀어 생각하면 더 이해하기 쉽다.
위의 예제코드에서는 getName이라는 함수가 실행된 이후에 sayHello라는 함수가 실행된 모습을 볼 수 있다.
뇌속의 시간을 흐름대로 정리해본다면,
철수라는 사람의 이름을 알게된다 --> "Hello 철수"라고 말한다
즉 철수라는 사람의 이름을 알게된 이벤트 이후에 "Hello 철수"라는 함수가 호출되어진다고 볼 수 있다.