Lambda Expression   람다 표현식

(2024-06-22)

Anonymous Function, 익명 함수, 람다 함수


1. 람다 표현식, 람다식 (Lambda Expression)함수를, 하나의 식(Expression) 그 자체에 포함시켜 표현한 것

  ㅇ (어원)
     - 함수 정의와 응용에 대한 형식 체계에서 수학적인 단순 표기법으로, 
     - 함수 매개변수람다(λ)로 표시한데서 유래함

  ㅇ (익명 함수)
     - 만일, 함수 정의 전체를 람다식으로 간략히 표현하게 되면, 
     - 이때, 이름이 필요 없게 되므로, 익명 함수(Anonymous Function)의 형태가 됨

  ㅇ (특징)
     - [장점]
        . 코드의 간결성 (불필요한 반복문 대신 사용, 복잡한 식을 단순하게 표현 가능)
        . 표현식 자체에 개발자의 의도가 명확히 드러나, 가독성이 높아짐
        . 병렬 프로그래밍 용이 (멀티 스레드 활용 가능)
     - [단점]
        . 람다에 의한 익명 함수는 재사용 불가능해짐
          .. (람다의 남발은 유사 함수의 중복 생성으로 코드가 지저분해짐)
        . 디버깅이 다소 어려움
        . 재귀로 만들기에 부적합

  ㅇ 例)
     - 파이썬) lambda args : expression
        . square = lambda (x) : (x**2); square(2) => 4
           .. 변수 square에 람다 표현식이 바인딩 됨. 후에 함수 처럼 이를 호출 가능하게 됨
           .. 여기서, 람다 표현식 내 x는 바인딩 변수(bound variable) 또는 매개변수
 

2. 익명 함수 (Anonymous Function, Nameless Function)

  ㅇ 이름이 없는 함수로써, 익명 함수들은 모두 일급 객체 임
     - (일급 개체 특징 : 일급 함수변수처럼 사용가능하며, 매개 변수로 전달이 가능하는 등)

  ※ [참고] ☞ 자바스크립트 함수 종류 참조

프로그래밍 기타일반
   1. 프로그래밍 기타 용어   2. 래퍼 함수   3. 핸들   4. 단락 평가   5. 템플릿   6. 히어 도큐먼트   7. 람다 표현식  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"