IT

콜백함수 Callback Function

jeonganWkd 2020. 10. 13. 10:19

1. 함수(Function)

  • 반복되는 코드들의 집합
  • 반복되는 코드들을 Copy&Paste 할 때 번거로움을 줄이기 위해 함수로 만든다

반복되는 코드들
함수로 만든다

2. 함수와 메모리

  • 함수의 코드부분은 메모리에 따로 저장이 된다
  • 함수의 이름부분은 변수로 처리되기 때문에 함수의 이름은 함수의 코드부분을 가르킨다. 따라서 함수가 호출될 때, 함수의 이름을 찾아 그 이름이 가르키는 메모리의 주소로 이동하여 실행한다

메모리에 함수의 코드 영역이 올라간다(코드 영역을 add가 가르키고 있다)

  • 자바스크립트에서 변수는 함수도 저장할 수 있기 때문에, 다른 이름의 변수에 이 함수의 코드를 동일하게 가르키도록 할 수 있다

함수의 이름을 변수에 저장
함수 코드가 있는 메모리의 주소를 복사(똑같은 함수 위치를 가르킨다)

3. 콜백함수(Callback Function)

  • 함수의 파라미터로 함수를 보내는 것
  • 어떤 함수 안에서 내가 작성한 함수의 코드가 실행되게 할 수 있다(함수가 호출될 때 내가 원하는 작업으로 동작)
  • 만든 함수는 내가 실행하는게 아니라 파라미터로 보낸 함수가 실행하게 된다(함수의 주소를 파라미터로 넘겨준다)

만든 add함수를 surprise함수의 파라미터로 보내는 콜백
add가 아닌 devide함수에 surprise함수의 파라미터로 전달

  • 즉, surprise함수를 만든 사람은 다른 사람들이 이 함수를 이용할 때 자신이 만든 함수를 동작시킬 수 있도록 함수의 이름을 파라미터로 받는다