First Class Object   일급 객체

(2022-06-29)

1급 객체, 고차 함수, 일급 함수


1. 일급 객체 (First Class Object)

  ㅇ 일급 객체는, 자바스크립트 언어 등에서 다음과 같이 특수한 성질을 갖는 객체를 말함

  ㅇ 특징
     - 리터럴에 의해 생성 가능                                   ☞ 객체 리터럴, 함수 리터럴 참조
     - 동적으로 생성, 할당(대입) 가능  (런타임시 리터럴에 의해 생성 가능)
     - `변수`,`배열 내 요소`,`객체프로퍼티` 등에 할당(대입) 가능
     - 함수를, `파라미터로써 전달` 가능
     - 함수를, `결과 값으로 리턴` 가능


2. 고차 함수 (Higher-order Function,HOF), 일급 함수 (First Class Function)함수를 `인수로써 전달` 받거나, `결과로써 반환`을 할 수 있는 함수를 말함
     - 고차 함수를 사용하면, 값(value) 뿐 만 아니라, 동작(action)도 추상화할 수 있음

  ㅇ 고차 함수는, 불변성(immutability)을 지향하는 함수형 프로그래밍에 기반을 두고 있음
     - 프로그램의 실행 중 변수가 변하는 상태에 대한 고려가 필요한 명령형 프로그래밍 기법과는 다름
     - 즉, 제어문(조건문,반복문 등)에서 나타나는, 논리 흐름,상태 변화 추적 등의 복잡성 제거 가능

  ㅇ 한편, 자바스크립트 함수는, 
     - 일급 객체이며 동시에 일급 함수 임

  ㅇ 커링 (Currying)
     - 2 이상의 인수를 받는 함수를 분해해서, 각각 1 인수로 된 2 이상의 중첩 함수로 변환하는 것

JS 함수
   1. JS 함수   2. JS 함수 종류   3. Function 객체   4. JS 함수 인수   5. this 키워드   6. 화살표 함수 (arrow)   7. 중첩 함수 (nested)   8. 즉시실행함수 (IIFE)   9. 콜백 함수 (CallBack)   10. 클로저 (Closure)   11. 고차 함수  
JS 객체
   1. JS 객체   2. JS 객체 구분   3. JS 객체의 생성 저장 접근   4. JS 클래스   5. 프로토타입 객체   6. 프라미스 객체   7. 일급 객체   8. 래퍼 객체   9. 콘솔 객체   10. this 참조   11. 이터레이터   12. 제너레이터   13. 범용 객체 (Object object)  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"