본문 바로가기
Front-End/JavaScript

고차 함수_3 (feat. 추상화)

by 연제원 2021. 1. 8.

✅고차 함수란?

고차 함수(higher order function)는 함수를 인자(argument)로 받거나 함수를 리턴하는 함수를 말한다. 이 때 다른 함수(caller)의 인자(argument)로 전달되는 함수를 콜백 함수(callback function)라고 한다.

그렇다면 우리는 왜 고차 함수를 사용해야 할까?

✅추상화(abstraction)란?

복잡한 어떤 것을 압축해서 핵심만 추출한 상태로 만드는 것
즉, 요약

우리가 살면서 하는 지하철/버스 카드, 문자, 검색, 자동차 시동 걸기와 같은 모든 행동들은 단순해 보이지만 그 속에는 무수한 원인과 결과가 내포되어 있다. 하지만 우리는 신경쓸 필요가 없다. 왜냐하면 이러한 행동들은 전부 추상화의 결과이기 때문이다! 자바스크립트(외 많은 프로그래밍 언어) 또한 추상화의 결과다. 컴퓨터가 어떻게 작동하는 지 신경안쓰고 이렇게 마음껏 코드를 짜니깐!

 

즉, 추상화는 생산성(productivity)의 향상을 이끌어낸다.

 

자바스크립트를 공부하면서 함수를 통해 많은 결과 값을 얻어낼 수 있었다. 추상화의 관점에서 함수 또한 생산성의 향상을 이끌어 냈던 것이다! 여기서 한단계 더 높인 것고차 함수이다.

함수 = 값(배열)을 전달 받아, 이 값을 가지고 복잡한 작업을 수행 = 값 수준에서의 추상화
고차 함수 = 함수(사고의 묶음)을 전달 받아 작업을 수행 = 사고의 추상화

즉 추상화의 수준이 높아진만큼 생산성도 비약적으로 상승하기에, 우리는 고차함수를 사용하는 것이다!

'Front-End > JavaScript' 카테고리의 다른 글

ES6 문법  (0) 2021.01.09
명령형 VS 선언형 프로그래밍  (0) 2021.01.08
고차 함수_2 (feat. 내장 고차 함수 filter, map)  (0) 2021.01.08
고차 함수_1 (feat. 일급 객체, 호이스팅)  (0) 2021.01.08
Closure  (0) 2021.01.08

댓글