람다(lambda)는 함수형 프로그래밍에서 사용하는 개념 중 하나로, 메서드를 하나의 식(expression)으로 간결하게 표현하는 방법입니다. 람다를 사용하면 익명 함수를 만들 수 있어, 코드의 가독성과 유지보수성을 높일 수 있습니다.
람다는 다음과 같은 구조로 이루어져 있습니다.
```
(parameter) -> { body }
```
여기서 `parameter`는 메서드의 매개변수를 나타내며, `body`는 메서드의 실행 내용을 나타냅니다. 람다는 일반적으로 함수형 인터페이스(functional interface)와 함께 사용됩니다. 함수형 인터페이스는 하나의 추상 메서드만을 가진 인터페이스를 말합니다.
람다를 사용하는 방법은 다음과 같습니다.
1. 인터페이스를 선언합니다. 해당 인터페이스는 함수형 인터페이스이어야 합니다. 함수형 인터페이스는 `@FunctionalInterface` 어노테이션으로 표시됩니다.
```
@FunctionalInterface
interface MyInterface {
void doSomething(int a, int b);
}
```
2. 람다를 사용합니다. 람다는 함수형 인터페이스에 대입될 수 있습니다.
```
MyInterface myInterface = (a, b) -> {
int result = a + b;
System.out.println("Result: " + result);
};
```
위 예시에서 `MyInterface` 함수형 인터페이스를 선언하고, 이를 사용하여 람다를 만들었습니다. `MyInterface` 인터페이스의 추상 메서드 `doSomething`은 두 개의 `int` 매개변수를 가지며, 반환값이 없습니다. 람다에서는 이를 `(a, b) -> { int result = a + b; System.out.println("Result: " + result); }`로 표현했습니다.
람다를 사용하면 코드를 간결하고 읽기 쉽게 만들어 줄 수 있으며, 스트림(stream)과 같은 함수형 프로그래밍에서 특히 많이 사용됩니다. 하지만 람다는 익명 함수로서 런타임 오버헤드가 존재하므로, 불필요한 람다 사용은 성능 저하를 초래할 수 있습니다.
'코딩 > 자바' 카테고리의 다른 글
자바 다중 스레딩 및 동시성 프로그래밍 (0) | 2023.04.30 |
---|---|
자바 스트림 API (0) | 2023.04.30 |
자바 제네릭 프로그래밍 (0) | 2023.04.29 |
댓글