JAVA/포스팅

자바 람다식

짜집퍼박사(짜박) 2023. 11. 22. 00:50

자바 8부터 도입된 람다식은 함수형 프로그래밍을 지원하는 중요한 기능 중 하나입니다. 람다식은 익명 함수의 형태로 간결하게 표현되며, 주로 함수형 인터페이스를 구현하는데 사용됩니다. 함수형 인터페이스는 딱 하나의 추상 메서드를 갖춘 인터페이스를 말하며, 이를 통해 람다식을 적용할 수 있습니다.

 

람다식의 기본 문법

람다식은 다음과 같은 기본 문법을 가지고 있습니다.

(parameters) -> expression

또는

(parameters) -> { statements; }

(parameters): 메서드에 전달되는 매개변수를 나타냅니다.
->: 람다식 연산자로서, 매개변수와 표현식 또는 코드 블록을 연결합니다.
expression: 단일 표현식으로서, 람다식의 결과를 나타냅니다.
{ statements; }: 중괄호 안에 여러 문장을 포함하여 코드 블록을 나타냅니다.

 

예제

아래는 두 정수를 더하는 간단한 람다식입니다

// 기존의 방식
MathOperation addition = new MathOperation() {
    @Override
    public int operate(int a, int b) {
        return a + b;
    }
};

// 람다식을 사용한 방식
MathOperation addition = (a, b) -> a + b;

위 예제에서 MathOperation은 다음과 같이 정의된 함수형 인터페이스입니다.

@FunctionalInterface
interface MathOperation {
    int operate(int a, int b);
}

람다식은 인터페이스에 정의된 추상 메서드의 시그니처에 따라 간결하게 표현됩니다.

 

함수형 인터페이스와 람다식

람다식은 함수형 인터페이스와 함께 사용되며, 함수형 인터페이스는 단 하나의 추상 메서드만을 가지는 인터페이스를 말합니다. Java에서는 @FunctionalInterface 어노테이션을 사용하여 함수형 인터페이스를 선언할 수 있습니다. 람다식은 이러한 함수형 인터페이스를 구현하기 위한 것으로 간주됩니다.

예를 들어, 자바의 내장 함수형 인터페이스 중 하나인 Runnable은 다음과 같이 람다식을 사용할 수 있습니다.

Runnable myRunnable = () -> System.out.println("Hello, Lambda!");

 

람다식의 활용

람다식은 주로 컬렉션의 데이터를 처리하거나 스레드를 다룰 때 유용하게 사용됩니다. 예를 들어, List를 사용한 간단한 예제는 다음과 같습니다.

List<String> myList = Arrays.asList("Apple", "Orange", "Banana", "Cherry");

// 람다식을 사용한 리스트의 각 요소 출력
myList.forEach(item -> System.out.println(item));

람다식은 또한 함수형 프로그래밍의 개념을 자바에 도입함으로써 코드를 간결하게 만들고, 가독성을 향상시키는 데 기여합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 함수형 인터페이스  (0) 2023.11.22
자바 람다식 작성하기  (0) 2023.11.22
자바 쓰레드 fork 프레임웍  (0) 2023.11.22
자바 쓰레드 join 프레임웍  (0) 2023.11.22
자바 쓰레드 volatile  (0) 2023.11.22