익명 함수
익명 함수(anonymous function)는 이름이 없는 함수를 의미합니다. 일반적으로 함수를 정의할 때, 함수의 이름을 지정하여 참조하거나 호출할 수 있지만, 익명 함수는 이름이 없기 때문에 일회성으로 사용되거나 다른 함수에 인자로 전달됩니다.
익명 함수는 함수형 프로그래밍(Functional Programming Language)에서 주로 사용되지만, 몇몇 명령형 언어(Imperative Programming Language)에서도 사용 가능합니다. 함수형 언어는 함수를 일급 객체(First-class citizen)로 취급하여, 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 수 있습니다.
익명 함수의 주요 장점은 다음과 같습니다.
- 코드의 간결성: 이름이 없기 때문에 코드를 간결하게 작성할 수 있으며, 일회성으로 사용되는 함수의 경우 적합합니다.
- 고차 함수(Higher-order function)와의 호환성: 익명 함수는 다른 함수에 인자로 전달되거나 반환될 수 있어, 고차 함수를 작성하는 데 유용합니다.
- 지역적인 작업: 익명 함수를 사용하면, 함수를 지역적으로 정의하여 작업을 수행할 수 있습니다. 이로 인해 전역 네임스페이스를 오염시키지 않고 코드를 구성할 수 있습니다.
여러 프로그래밍 언어에서 익명 함수는 다양한 방식으로 표현됩니다. 예를 들어, Python에서는 lambda
키워드를 사용하여 익명 함수를 정의할 수 있습니다.
square = lambda x: x * x print(square(4)) # 출력: 16`
JavaScript에서는 화살표 함수(Arrow Function)를 사용하여 익명 함수를 정의할 수 있습니다.
const square = (x) => x * x; console.log(square(4)); // 출력: 16`
익명 함수는 함수형 언어를 공부하는 데 있어 핵심 개념 중 하나로 이해하고 있으면 도움이 됩니다.
레퍼런스
- [[M - CPP 09-3 lambda]]
- [[M - 1. C++ 정리 시간]]
- [[M - 3.6 혼잡제어 - 필기]]
- [[M - 람다 대수 - 원본]]
- 람다 대수 베타 축약
- 람다 대수(Lamda calcuus)란 무엇인가
- [[M - 일급 객체(first class)]]
- 프로그래밍 언어의 변천사
- [[M - 프로그래밍 언어의 변천사 - 체크포인트]]
- [[M - 함수형 프로그래밍 - 체크포인트]]
- [[M - 함수형 프로그래밍의 개요 - 원본]]
- [[M - CPP 09-3 lambda]]
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'Computer Science > 프로그래밍 언어론' 카테고리의 다른 글
프로그래밍 언어론 - 변수 (0) | 2023.05.18 |
---|---|
고차 함수 (0) | 2023.04.17 |
람다 대수 베타 축약 (0) | 2023.04.12 |
프로그래밍 언어란 (0) | 2023.04.11 |
논리형 언어 (0) | 2023.04.11 |