개발 R.I.P.
고차함수 #1
편행
2021. 4. 28. 23:10
반응형
각 단어의 개념을 먼저 정확히 이해해야한다.
일급 객체 (first-class citizen)란?
다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.
---> 정확히 이해가 되지 않는 정의 이므로 1급 객체로 분류될 수 있는 조건들을 정리한다.
- 모든 일급 객체는 함수의 실질적인 매개변수가 될 수 있다.
- 모든 일급 객체는 함수의 반환값이 될 수 있다.
- 모든 일급 객체는 할당의 대상이 될 수 있다.
이 조건들로 알 수 있는 점은 함수를 데이터(string, number, boolean, array, object)처럼 다룰 수 있다는 것이다.
즉 변수에 할당이 가능한 것처럼 함수에도 할당이 가능하다는 것
함수가 이런 특성을 갖고 있기에, 고차함수를 만들 수 있다.
고차함수(higher-order function)란?
함수를 인자(argument)로 받을 수 있고, 함수의 형태로 리턴할 수 있는 함수이다.
고차함수를 쓰면, 데이터를 처리함에 있어 생산성을 늘려줄 수 있다고 한다.
콜백함수(Callback function)란?
다른 함수의 인자로 전달되는 함수이다. 어떤 작업이 완료되었을 때 호출하는 경우가 많다.
이건 쉽게 생각하면 될 것 같은데, 함수가 매개변수로 들어가면, 그것이 콜백함수라 생각하면 될 듯하다.
(과연 이 생각이 얼마나 옳게 유지될 것인지.... 계속 그 의미를 더욱 고민해봐야 할 듯 하다)
반응형