현재 배우고 있는 언어가 Java Script
관계로 JS 기준으로 Callback 함수
에 대해 정리 해보고자 한다.
Callback 함수
에 대해 설명하기 앞서 워낙 쓰임이 다양하고 많은 기능을 가지고 있기 때문에...
Callback 함수의 기본적인 정의
-1. 다른 함수의 인자로써 이용되는 함수.
2. 어떤 이벤트에 의해 호출되어지는 함수.
(간단히 설명하면 함수 안의 또다른 함수 or
가만히 있다가 부르면 나중에 호출되는 함수)
를 참고하고 여러 예시를 보았지만 도무지 이해가 되지 않았던 (나포함) 사람들이 있을 것이라 생각해서 기본적인 구조의 이해만 간략하게 정리해보고 이 후 개념이 더 쌓이면 이어서 적도록 하겠다.
Callback 함수를 이해할려면 우선 일반적으로 쓰이는 함수의 기본 구조를 살펴볼 필요가 있다.
함수 기본 구조
function abc(parameter1,parameter2,...) {
써먹을 내용 }
abc(argument1,argument2 ...)
abc라는 함수명을 선언해서 그안에 매개변수(parameter)
를 지정해주고 이 후 함수에 실질적으로 넣어줄 인자(Argument)
를 넣어줌으로써 써먹을 수 있다.
하지만 Callback 함수가 쓰여지는 함수에서는 살짝 다른 구조를 하고 있는데,
function abc(param1, param2, callbackFunc) {
무언가 선언 a = param1 + param2
callbackFunc(a);
}
이후 콜백 함수로 사용 해줄 함수 정의 ( 위에 선언한 하나의 함수
만으로는 콜백함수를 호출 할 수 없기 때문에 써줘야됨.)
function 호출함수 b (result){
console.log(result)
}
이 후
원래 써먹을려고 했던 처음 선언했던 함수 호출
abc(arg1,arg2,b)
///
순차적으로 위에 예시한 abc()함수에 수행을 풀어보자면,
이렇게만 보고서는 굳이 귀찮게 왜 Callback 함수를 써야되지라고 처음에 생각들었지만, Node를 접하고 다양한 알고리즘을 풀면 풀수록 필요성을 절실히 느끼고 있다.
Callback을 필수적으로 받는 메서드들이나 Node 및 여러 플랫폼을 쓸 때 자주 나오는 기능이기 때문에 필히 익혀둬야된다...