EEALL@ONCE

🔦 일급 객체 / 고차 함수 가 뭔데? 본문

분류없음지식🔦

🔦 일급 객체 / 고차 함수 가 뭔데?

올엣원스 2023. 12. 21. 12:48
728x90

  • 고차 함수 (Higher-Order Functions): 첫 번째 그림에서, 색깔이 다양한 '함수'라고 레이블이 붙은 로봇이 보입니다. 이 로봇은 다른 작은 로봇들(작은 함수들)을 들고 있습니다. 이는 고차 함수가 다른 함수를 인자로 받거나 함수를 결과로 반환할 수 있음을 나타냅니다.
  • 일급 객체 (First-Class Objects): 두 번째 그림에서, 일상적인 물건들(공, 책, 컵 등)이 '객체'로 표시되어 있습니다. 이는 프로그래밍에서 객체가 함수의 인자로 전달되거나, 함수에서 반환되거나, 변수에 저장될 수 있음을 보여줍니다. 객체는 프로그램 내에서 다양한 방식으로 사용될 수 있음을 나타냅니다.

일급 객체에 대한 예제를 설명하기 위해 자바스크립트(JavaScript)를 사용하겠습니다. 자바스크립트에서 함수는 일급 객체입니다. 이는 함수를 변수에 할당할 수 있고, 함수를 다른 함수의 인자로 전달하거나, 함수에서 다른 함수를 반환할 수 있다는 것을 의미합니다.

아래 예제를 통해 이를 살펴보겠습니다:

// 함수를 변수에 할당
const greet = function() {
    console.log("Hello, world!");
};

// 변수를 통해 함수 호출
greet(); // 출력: "Hello, world!"



function greet() {
    console.log("Hello, world!");
}

// 다른 함수에 함수를 인자로 전달
function callFunction(fn) {
    fn(); // 전달받은 함수 호출
}

callFunction(greet); // 출력: "Hello, world!"


function greet() {
    return function() {
        console.log("Hello, world!");
    };
}

const greeter = greet();
greeter(); // 출력: "Hello, world!"
728x90