람다식은 Java 8에서 도입된 기능으로, 익명 함수(anonymous function)를 간결하게 표현할 수 있게 해줍니다. 주로 함수를 인자로 넘길 때 유용하게 사용됩니다. 자바의 람다식은 함수형 인터페이스와 함께 사용됩니다. 함수형 인터페이스는 오직 하나의 추상 메서드만을 갖는 인터페이스입니다.
예제 1: 기본적인 람다식
import java.util.Arrays;
import java.util.List;
public class LambdaExample {
public static void main(String[] args) {
// 리스트를 생성합니다.
List<String> names = Arrays.asList("A", "B", "C", "D");
// 람다식을 사용하여 리스트의 각 요소를 출력합니다.
names.forEach(name -> System.out.println(name));
}
}
- names.forEach(name -> System.out.println(name));는 forEach 메서드를 사용하여 리스트의 각 요소를 출력합니다. 여기서 name -> System.out.println(name)이 람다식입니다. name은 리스트의 각 요소를 나타내며, ->는 람다식을 정의하는 구분자입니다.
예제 2: 함수형 인터페이스와 람다식
@FunctionalInterface
interface MathOperation {
int operate(int a, int b);
}
public class LambdaExample {
public static void main(String[] args) {
// 덧셈 연산을 수행하는 람다식을 정의합니다.
MathOperation add = (a, b) -> a + b;
// 뺄셈 연산을 수행하는 람다식을 정의합니다.
MathOperation subtract = (a, b) -> a - b;
// 두 연산을 테스트합니다.
System.out.println("덧셈: " + operate(5, 3, add)); // 출력: 덧셈: 8
System.out.println("뺄셈: " + operate(5, 3, subtract)); // 출력: 뺄셈: 2
}
// MathOperation 인터페이스를 사용하여 연산을 수행하는 메서드입니다.
public static int operate(int a, int b, MathOperation operation) {
return operation.operate(a, b);
}
}
- @FunctionalInterface 애너테이션을 사용하여 MathOperation 인터페이스가 함수형 인터페이스임을 명시합니다.
- MathOperation add = (a, b) -> a + b;는 두 정수를 더하는 람다식입니다.
- MathOperation subtract = (a, b) -> a - b;는 두 정수를 빼는 람다식입니다.
- operate 메서드는 MathOperation 인터페이스를 매개변수로 받아 해당 연산을 수행합니다.
'Java' 카테고리의 다른 글
| JAVA 배열 index값 반환 메서드 (2) | 2025.01.25 |
|---|---|
| JDBC, JPA, MyBatis, jOOQ: 데이터베이스 기술 비교 (0) | 2024.08.10 |
| JAVA SOLID 개념 (0) | 2024.07.17 |
| JAVA 파일 읽기 및 효율적인 I/O 처리 방법 (0) | 2024.06.15 |
| String vs StringBuilder 속도 비교 (0) | 2024.03.23 |