람다 함수

IT 위키

람다 함수(lambda function)는 익명 함수(anonymous function)를 의미하며, 프로그래밍 언어에서 함수를 간결하게 정의할 수 있는 방법을 제공한다. 람다 함수는 보통 이름 없이 선언되어, 필요할 때 즉석에서 실행되거나 다른 함수의 인자로 전달되어 사용된다.

1 개요[편집 | 원본 편집]

람다 함수는 전통적인 함수 정의 방식에 비해 구문이 간결하며, 일회성 함수나 작은 연산을 수행할 때 유용하다. 함수형 프로그래밍 패러다임에서 중요한 역할을 하며, map, filter, reduce와 같은 고차 함수와 함께 사용되어 데이터를 효과적으로 변환하고 처리할 수 있도록 도와준다.

2 특징[편집 | 원본 편집]

  • 함수 정의를 간단하게 작성할 수 있다.
  • 이름이 없는 익명 함수로, 주로 일회성 사용이나 콜백 함수로 활용된다.
  • 코드의 간결성과 가독성을 높여주며, 불필요한 함수 선언을 줄인다.
  • 복잡한 로직은 일반 함수로 정의하는 것이 바람직하며, 람다 함수는 단순한 표현식 한 줄로 구성된다.

3 활용 분야[편집 | 원본 편집]

람다 함수는 여러 프로그래밍 언어에서 다양한 방식으로 활용된다.

  • 짧은 함수를 인라인으로 정의하여 코드 길이를 줄이고, 간단한 연산을 수행할 때 사용된다.
  • 고차 함수(map, filter, reduce)와 결합되어 데이터 변환 및 집계 작업을 간편하게 처리한다.
  • 이벤트 핸들러나 콜백 함수로 사용되어 비동기 처리 및 인터페이스 구현을 간결하게 만든다.

4 언어별 예제[편집 | 원본 편집]

  • 파이썬: 람다 함수는 lambda 키워드를 사용하여 정의한다.
lambda x, y: x + y
 위 예제는 두 인자를 받아 그 합을 반환하는 람다 함수이다.
  • 자바스크립트: 람다 함수는 화살표 함수(arrow function)로 표현된다.
(x, y) => x + y
  • 자바: 자바 8부터 람다 표현식을 도입하여, 함수형 인터페이스를 구현할 수 있다.
(x, y) -> x + y

5 역사 및 배경[편집 | 원본 편집]

람다 함수의 개념은 수학의 람다 대수(lambda calculus)에서 기원을 찾을 수 있으며, 함수형 프로그래밍 언어의 발전과 함께 현대 프로그래밍 언어에 도입되었다. 이 개념은 코드를 보다 간결하고 유연하게 작성할 수 있도록 하여, R, Python, JavaScript, Java 등 다양한 언어에서 핵심 기능으로 자리잡게 되었다.

6 같이 보기[편집 | 원본 편집]

7 참고 문헌[편집 | 원본 편집]

  • Abelson, H., & Sussman, G. J. (1996). Structure and Interpretation of Computer Programs. MIT Press.
  • Bird, R., & Wadler, P. (1988). Introduction to Functional Programming. Prentice Hall.
  • Odersky, M., Spoon, L., & Venners, B. (2010). Programming in Scala. Artima Inc.