[JAVA] Lambda

2024. 4. 1. 09:43·JAVA

람다(lambda)는 함수형 프로그래밍에서 사용되는 중요한 개념 중 하나이다. 람다는 익명 함수(anonymous function)를 지칭하며, 일회성으로 사용되거나 간단한 함수를 정의할 때 유용하다.

 

lambda의 특징으로는

1. 익명 함수: 이름 없이 정의되는 함수이다.

2. 간결성: 간단한 연산을 표현할 때 특히 유용하다.

3. 일급 객체: 람다식은 일급 객체로 취급되어 함수의 인자로 전달하거나 함수의 반환 값으로 사용될 수 있다.

 

(parameter1, parameter2, ...) -> expression​

 

이 때, parameter1, parameter2, ...는 람다식의 매개변수이고, expression은 람다식의 본문이다. 람다식의 본문은 단일 표현식일 수도 있고, 더 복잡한 블록을 포함할 수도 있다.

 

public class Main {
    public static void main(String[] args) {
        // 정수를 더하는 간단한 람다식
        MathOperation addition = (int a, int b) -> a + b;
        
        // 람다식을 사용하여 두 정수를 더함
        int result = addition.operation(10, 5);
        System.out.println("Result: " + result); // 출력: Result: 15
    }
}

// 함수형 인터페이스 정의
interface MathOperation {
    int operation(int a, int b);
}

 

MathOperation 인터페이스를 정의하여 간단한 이항 연산을 나타내도록 한다. 그리고 이 인터페이스의 객체를 람다 표현식으로 초기화하여 두 정수를 더하는 람다식을 만들어 addition 변수에 할당한다. 그 후, 이 람다식을 사용하여 두 정수를 더하고 결과를 출력한다.

이러한 방식으로 람다식은 코드를 간결하게 만들고, 함수형 프로그래밍 스타일을 사용할 수 있도록 한다.

 

 

 

저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] Generic Type  (0) 2024.03.28
[JAVA] Anonymous Inner Class  (0) 2024.03.27
[JAVA] Inner Class와 Outer Class  (0) 2024.03.27
[JAVA] Interface  (0) 2024.03.27
[JAVA] Abstract 예제  (0) 2024.03.26
'JAVA' 카테고리의 다른 글
  • [JAVA] Generic Type
  • [JAVA] Anonymous Inner Class
  • [JAVA] Inner Class와 Outer Class
  • [JAVA] Interface
kwh_coding
kwh_coding
성장하는 괴물 성괴 김우형
  • kwh_coding
    코딩 일기
    kwh_coding
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • ERP Project
      • NAVER CLOUD Web DevOps
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
  • 블로그 메뉴

    • 홈
    • GitHub
    • Notion
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    js
    CORS
    eGov
    프로그래머스
    github
    spring
    annotation
    html
    코딩테스트
    brycpt
    Java
    private network
    SQLD
    gitbash
    web
    React
    RDBMS
    해시 암호화
    javascript
    Tomcat
    코딩
    jsp
    node
    Postman
    코테
    정보처리기사
    git
    Python
    django
    AdSP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
kwh_coding
[JAVA] Lambda
상단으로

티스토리툴바