지금을 사는 사람

[Java] 람다 표현식(Lambda) 본문

Java

[Java] 람다 표현식(Lambda)

지금회 2023. 12. 7. 20:43
728x90

소개:

Java 8부터 도입된 람다 표현식은 함수형 프로그래밍 스타일을 도입하여 Java 코드를 간결하게 만들고, 컬렉션을 처리하거나 다양한 인터페이스를 구현하는 데 효율적인 방법을 제공합니다. 이 글에서는 Java의 람다 표현식에 대해 알아보고, 간단한 예시를 통해 어떻게 사용되는지 살펴보겠습니다.


1. 람다 표현식이란?

람다 표현식은 익명 함수를 나타내며, 메서드를 하나의 식으로 표현할 수 있는 간결한 방법을 제공합니다. 주로 함수형 인터페이스를 구현할 때 사용되며, 다음은 기본적인 형태입니다.

(parameter) -> expression

2. 간단한 문법

  • 매개변수가 없는 경우:
() -> System.out.println("Hello, Lambda!");
  • 하나의 매개변수가 있는 경우:
(name) -> System.out.println("Hello, " + name);
  • 여러 매개변수가 있는 경우:
(x, y) -> {
    int sum = x + y;
    System.out.println("Sum: " + sum);
};

3. 함수형 인터페이스와의 관계

람다 표현식은 함수형 인터페이스를 구현할 때 주로 사용됩니다. 함수형 인터페이스는 하나의 추상 메서드만을 가지는 인터페이스를 말합니다. 예를 들어, Runnable, Callable, Comparator 등이 함수형 인터페이스의 예시입니다.

4. 컬렉션의 간편한 처리

람다 표현식은 컬렉션을 간편하게 처리할 수 있는 기능을 제공합니다. 예를 들어, 리스트의 각 요소에 대해 특정 연산을 수행하고 싶은 경우:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

numbers.forEach(n -> System.out.println(n * 2));

5. 함수형 인터페이스 활용

Java에서는 많은 함수형 인터페이스가 이미 정의되어 있습니다. 그 중 몇 가지를 사용하는 예제를 보겠습니다.

  • Predicate 인터페이스: 조건을 검사하는 데 사용됩니다.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

numbers.removeIf(n -> n % 2 == 0);
  • Function 인터페이스: 값을 변환하는 데 사용됩니다.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

numbers.replaceAll(n -> n * 2);

6. 결론

람다 표현식은 Java의 세련된 기능 중 하나로, 코드의 가독성을 높이고 작성하는 데에 편의성을 제공합니다. 특히 컬렉션 처리나 함수형 인터페이스의 구현에서 람다 표현식은 코드를 간결하게 만들어주는 강력한 기능입니다. 함수형 프로그래밍 스타일에 익숙해지면 Java 개발에서 람다 표현식을 적극적으로 활용할 수 있습니다.

 

728x90

'Java' 카테고리의 다른 글

[Java] 컬렉션 (Collection)  (1) 2023.12.12
[Java] 리터럴 풀 (literal pool)  (0) 2023.12.12
[Java] 익명 클래스(Anonymous Class)  (1) 2023.12.07
[Java] nextLine()과 next()의 차이와 주의사항  (1) 2023.12.06
[Java] 배열  (0) 2023.12.06