자바 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 |