First Class Object   일급 객체

(2021-07-05)

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

Top > [기술공통]
[기초과학]
[진동/파동]
[전기전자공학]
[방송/멀티미디어/정보이론]
[통신/네트워킹]
[정보기술(IT)]
[공학일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
[프로그래밍 언어론]
[프로그래밍 방법론]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
자바스크립트 >   1. JavaScript
  2. JS 기초 문법
[JS 변수,타입,논리식]
[JS 구문,연산자]
[JS 실행환경]
[JS 함수]
[JS 객체]
[JS 배열/Map/Set]
[JS 활용]
[JS 웹문서 제어]
JS 객체   1. JS 객체
  2. JS 객체 구분
  3. JS 객체의 생성 저장 접근
  4. JS 클래스
  5. 프로토타입 객체
  6. 프라미스 객체
  7. 일급 객체
  8. 래퍼 객체
  9. 콘솔 객체
  10. this 참조
  11. 이터레이터
  12. 제너레이터
  13. 범용 객체 (Object object)

Top > [기술공통]
[기초과학]
[진동/파동]
[전기전자공학]
[방송/멀티미디어/정보이론]
[통신/네트워킹]
[정보기술(IT)]
[공학일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
[프로그래밍 언어론]
[프로그래밍 방법론]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
자바스크립트 >   1. JavaScript
  2. JS 기초 문법
[JS 변수,타입,논리식]
[JS 구문,연산자]
[JS 실행환경]
[JS 함수]
[JS 객체]
[JS 배열/Map/Set]
[JS 활용]
[JS 웹문서 제어]
JS 함수   1. JS 함수
  2. JS 함수 종류
  3. Function 객체
  4. JS 함수 인수
  5. this 키워드
  6. 화살표 함수 (arrow)
  7. 중첩 함수 (nested)
  8. 즉시실행함수 (IIFE)
  9. 콜백 함수 (CallBack)
  10. 클로저 (Closure)
  11. 고차 함수

1. 일급 객체 (First Class Object)

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

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


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

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

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


[JS 객체] 1. JS 객체 2. JS 객체 구분 3. JS 객체의 생성 저장 접근 4. JS 클래스 5. 프로토타입 객체 6. 프라미스 객체 7. 일급 객체 8. 래퍼 객체 9. 콘솔 객체 10. this 참조 11. 이터레이터 12. 제너레이터 13. 범용 객체 (Object object)

 
        최근수정     요약목록     참고문헌