EEALL@ONCE
🔦 일급 객체 / 고차 함수 가 뭔데? 본문
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
'분류없음지식🔦' 카테고리의 다른 글
🔦 tcp/ip 4 계층 모델 (1) | 2023.12.27 |
---|---|
🔦OOP (객체지향 프로그래밍) 이란.. (1) | 2023.12.21 |
🔦 프로그래밍 패러다임 (0) | 2023.12.20 |
🔦MVVM (Model-View-ViewModel) 패턴이 뭔데? (1) | 2023.12.20 |
🔦노출모듈패턴이 뭔데? (0) | 2023.12.19 |