안녕하세요 성조입니다.
학습하고 주관적으로 포스팅한 것이므로 100% 올바른 정답이라고 할 수 없습니다.
기본 정의는 다음과 같다.
다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 의미한다.
본인은 3가지 방법으로 가볍게 예시를 들고 싶다.
콜백 함수(Callback function)란?
- 프로그래머가 직접 호출하는 것이 아닌 프로세스에 이벤트가 들어왔을 때 디스패치하여 함수를 호출하고 이벤트 처리하는 함수를 의미한다. 또는 방법이라고도 표현한다.
- 함수를 호출했을 때 끝난 후 실행되는 함수를 의미하며, A 함수안에 B함수안에 C함수가 있으면 A, B, C가 서로 인자로 받는 것을 의미한다. A 함수 내부에서 B 함수가 호출되면서 또 C함수가 호출되는 동작을 의미한다.
- 콜백 함수도 일반적인 자바스크립트 함수이다. 이 콜백 함수는 코드를 통해 명시적으로 호출하여 사용하는 함수가 아닌 개발자가 선언해 놓고, 특정 이벤트가 발생했거나 특정 시점에 도달하면 시스템에 의하여 호출되는 함수를 의미한다. 문법적 차별점이 존재하는 것이 아닌 호출 방식에 의한 구분 정도로 보면 된다.
콜백 함수의 예로는 이벤트 핸들러 처리 예시가 존재한다.
예를 가볍게 들어보겠다.
위 js 파일을 실행하면 다음과 같이 나온다.
하지만 다음과 같이 코드를 변경해 본다.
이 코드를 실행하면 결과가 어떻게 나오는가.
A를 호출했는데 C -> B -> A 순으로 실행됐다.
Hello A가 나오기 전 B 함수가 미리 호출됐기 때문이다.
콜백 함수는 A 함수에서 B 함수로 인수를 넘겨줄 때. 실행 가능한 코드들을 의미하게 되는 것이다.
함수 내부의 순서를 변경하면 호출되는 순서도 변경된다.
"Hello A"가 출력된 후 B 함수를 호출했다. 이후 "Hello B" 문자 출력 후 C 함수를 호출하여 출력하게 됐다.
이렇게 호출(Call) 했을 때. 어떤 함수로 인수가 넘겨져서 응답(Back)되는 이벤트에 의해 호출되는 것을 콜백 함수라 한다.
콜백 함수(CallBack)는 최근에는 비교적 덜 사용되는 문법이라고 한다.
잘못 전달된 지식이 있는 경우 언제든지 댓글 부탁드리겠습니다!
궁금하신 부분도 언제든 댓글 부탁드립니다!
감사합니다 다음 포스팅 때 뵙겠습니다!
참조
https://commons.wikimedia.org/wiki/File:Callback-notitle.svg
'Study 📔' 카테고리의 다른 글
[Study] 컴파일러 언어와 인터프리터 언어 (0) | 2022.11.04 |
---|---|
[Study] Clean Code 독서 및 학습 시작 (0) | 2022.07.28 |
[Study] Powershell 설치하기 (0) | 2022.07.25 |
[ IntelliJ - Communtity ] 윈도우(Windows) 환경에서 설치하기 (0) | 2022.04.05 |
운영체제 리눅스 소스를 보고 해석하는 과제 (0) | 2020.06.15 |