일급 객체

Hunter Joe·2025년 4월 17일

위키 백과
컴퓨터 프로그래밍 언어 디자인에서, 일급 객체(영어: first-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다. 보통 함수에 인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체

  • 일급 객체란 "값처럼 쓸 수 있는 것",
  • 함수, 객체, 배열 등을 진짜 값처럼 넘기고, 저장하고, 리턴하고, 비교할 수 있다는 걸 의미.
  • 사용할 때 다른 요소들과 아무런 차별이 없다

로빈 포플스톤은 일급 객체를 구성하는 요소는 기본적인 권리가 있다는, 다음의 정의를 내렸다.

함수의 실제 매개변수가 될 수 있다.

function greet(fn) {
  fn(); // 전달받은 함수 실행
}

function sayHello() {
  console.log("Hello");
}

greet(sayHello); // ✅ 함수가 다른 함수의 인자로 사용됨

모든 요소는 함수의 반환 값이 될 수 있다.

function createLogger() {
  return function () {
    console.log("Log from returned function");
  };
}

const logger = createLogger(); // ✅ 함수가 함수의 리턴 값으로 사용됨
logger();

모든 요소는 할당 명령문의 대상이 될 수 있다.

const sayHi = function () {
  console.log("Hi!");
};

sayHi(); // ✅ 함수가 변수에 할당됨

모든 요소는 동일 비교의 대상이 될 수 있다.

function a() {}
function b() {}

const same = a === b; // false
const alsoSame = a === a; // true

console.log(same);       // false
console.log(alsoSame);   // true ✅ 함수가 비교 대상이 됨
profile
Async FE 취업 준비중.. Await .. (취업완료 대기중) ..

0개의 댓글