본문 바로가기
STUDY/JavaScript

일급객체(First Class Object) , 일급함수(First Class Function) 란?

by bottlesun 2023. 7. 4.
728x90

일급 객체 (일급 함수) 란?

프로그래밍 언어에서 함수를 값으로 다룰 수 있는 특성을 가진 함수를 말한다.

이는 함수를 변수에 할당하거나, 다른 함수의 인자로 전달하거나, 함수의 반환 값으로 사용 할 수 있는것을 의미한다.

일급함수를 가진 언어에서는 함수가 일반적인 데이터 타입처럼 취급 된다.

이는 함수를 생성하고 조작하고 전달하는 데, 좀 더 자유롭고 유연한 프로그래밍 스타일을 가능하게 한다.

1. 변수에 함수 할당

함수를 값으로 취급하여 변수에 할당 할 수 있다.

const add = function (a, b) {
  return a + b;
};

 

2. 함수를 인자로 전달

함수를 다른 함수의 인자로 전달할 수 있다.

function calculate(operation, a, b) {
  return operation(a, b);
}

console.log(calculate(add, 4, 2)); // 출력: 6

3. 함수를 반환값으로 사용

함수가 다른 함수의 반환 값으로 사용 할 수 있다.

function createMultiplier(factor) {
  return function (number) {
    return number * factor;
  };
}

const double = createMultiplier(2);
console.log(double(5)); // 출력: 10

4. 자료 구조에 함수 저장

함수를 자료 구조에 저장하거나 다른 함수 내부에서 생성 할 수 있다.

const mathOperations = {
  multiply: function (a, b) {
    return a * b;
  },
  divide: function (a, b) {
    return a / b;
  }
};

console.log(mathOperations.multiply(3, 4)); // 출력: 12

함수를 값처럼 사용하여 유연하게 프로그래밍 할 수 있게 된다.

  • 코드 재 사용성을 높일 수 있다.
  • 콜백 함수를 다루는 상황에서 유용하게 쓸 수 있다.
  • 함수형 프로그래밍 스타일에 적용 될 수 있다.
728x90

댓글