Java 8부터 도입된 람다 함수는 함수형 프로그래밍을 지원하기 위한 강력한 기능입니다. 람다 함수를 사용하면 코드를 간결하게 작성할 수 있고, 함수를 변수처럼 다룰 수 있어 유연한 프로그래밍이 가능합니다. 이번 기술 블로그에서는 Java의 람다 함수에 대해 상세히 알아보고, 실제 예시를 통해 사용 방법을 설명하겠습니다.
람다 함수는 익명 함수로서, 메서드와 비슷한 역할을 수행합니다. 일반적으로 함수형 인터페이스와 함께 사용되며, 한 줄의 코드로 함수를 정의하고 전달할 수 있습니다. 이를 통해 코드의 가독성과 유연성을 향상시킬 수 있습니다.
람다 함수는 다양한 형태로 사용할 수 있습니다. 아래 예시를 통해 람다 함수의 사용 방법을 자세히 알아보겠습니다.
import java.util.ArrayList;
import java.util.List;
public class LambdaExample {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
// forEach 메서드를 사용한 람다 함수
names.forEach(name -> System.out.println(name));
// 메서드 레퍼런스를 사용한 람다 함수
names.forEach(System.out::println);
// 필터링과 매핑을 사용한 람다 함수
names.stream()
.filter(name -> name.startsWith("A"))
.map(String::toUpperCase)
.forEach(System.out::println);
}
}
위의 예시에서는 List에 저장된 이름들을 출력하는데 람다 함수를 활용합니다. forEach() 메서드를 사용하여 람다 함수를 전달하여 각 이름을 출력하고, 메서드 레퍼런스를 사용하여 더욱 간결하게 출력할 수도 있습니다. 또한, 스트림을 활용하여 필터링과 매핑을 적용하는 예시도 포함되어 있습니다.
실행 결과는 다음과 같습니다:
Alice
Bob
Charlie
Alice
ALICE
Java의 람다 함수는 코드를 간결하게 작성하고, 함수를 변수처럼 다룰 수 있는 강력한 기능입니다. 람다 함수를 사용하면 함수형 프로그래밍의 원리를 적용하여 가독성과 유연성을 향상시킬 수 있습니다. 또한, 스트림과 결합하여 다양한 데이터 처리 작업을 수행할 수도 있습니다. 이를 활용하여 Java 코드를 더욱 간결하고 유연하게 작성할 수 있습니다.