Callback 함수

EricHan·2022년 7월 30일
0

Callback

목록 보기
1/1

현재 배우고 있는 언어가 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()함수에 수행을 풀어보자면,

    1. arg1과 agr2에 각각 1,2를 넣게 되면 함수가 풀어나가는 과정에서 우선 매개변수로 1,2가 전달된다.

    1. abc()함수 안에서 세로 선언해준 Callback 함수는
      a= param1+param2라는 기능을 받아 저장된다.

    1. 이 후 abc()라는 함수에 세번째 인자인 b (콜백함수 자리) 밑에 따로 선언해준 b라는 console.log() 기능을 가진 함수를 받아 결과적으로 console.log(a) 라는 기능을 수행하게 된다.


      결과는 3이 콘솔창에 띄워지게 된다.

이렇게만 보고서는 굳이 귀찮게 왜 Callback 함수를 써야되지라고 처음에 생각들었지만, Node를 접하고 다양한 알고리즘을 풀면 풀수록 필요성을 절실히 느끼고 있다.

Callback을 필수적으로 받는 메서드들이나 Node 및 여러 플랫폼을 쓸 때 자주 나오는 기능이기 때문에 필히 익혀둬야된다...

profile
desarollitor

0개의 댓글