Java 람다 표현식은 Java 8에서 도입된 기능으로, 코드의 간결성과 가독성을 높여줍니다.
람다 표현식을 사용하면 더 간단하고 읽기 쉬운 코드 작성이 가능해집니다.
평소에 사용하던 람다 표현식과 기본 개념을 정리해 보겠습니다.👀
람다 표현식이란?
람다 표현식은 익명 함수를 간단하게 표현할 수 있는 방법입니다.
익명 함수란 이름이 없는 함수를 의미하며, 일반적으로 함수형 인터페이스를 구현하는 데 사용됩니다.
람다 표현식의 기본 형태는 다음과 같습니다.
(parameters) -> expression
여기서 parameters는 함수의 매개변수, expression은 함수의 본문입니다.
람다 표현식의 예시
다음은 람다 표현식을 사용한 간단한 예시입니다.
이 예시는 두 개의 숫자를 더하는 함수를 람다 표현식으로 정의합니다.
전통적인 방식
전통적으로는 다음과 같이 Calculator라는 인터페이스를 만들고 이를 구현하는 클래스를 작성합니다.
@FunctionalInterface
interface Calculator {
int calculate(int a, int b);
}
public class Main {
public static void main(String[] args) {
Calculator add = new Calculator() {
@Override
public int calculate(int a, int b) {
return a + b;
}
};
System.out.println(add.calculate(5, 3)); // 출력: 8
}
}
람다 표현식 사용
람다 표현식을 사용하면 코드가 훨씬 간단해집니다.
@FunctionalInterface
interface Calculator {
int calculate(int a, int b);
}
public class Main {
public static void main(String[] args) {
Calculator add = (a, b) -> a + b;
System.out.println(add.calculate(5, 3)); // 출력: 8
}
}
람다 표현식의 장점
- 간결한 코드
람다 표현식을 사용하면 불필요한 클래스와 메서드 정의를 줄일 수 있어 코드가 간결해집니다. - 가독성 향상
람다 표현식은 짧고 명확하여 코드의 가독성을 높입니다. - 함수형 인터페이스와의 호환
람다 표현식은 함수형 인터페이스와 함께 사용할 때 특히 유용합니다.
함수형 인터페이스는 단 하나의 추상 메서드를 가진 인터페이스입니다.
함수형 인터페이스와 람다 표현식
람다 표현식을 사용하기 위해서는 함수형 인터페이스가 필요합니다.
함수형 인터페이스는 단 하나의 추상 메서드를 가진 인터페이스입니다.
Java 8에서는 여러 가지 함수형 인터페이스가 표준 라이브러리에 포함되어 있습니다.
예를 들어, Runnable, Callable, Comparator 등이 있습니다.
@FunctionalInterface
interface MyFunctionalInterface {
void myMethod();
}
public class Main {
public static void main(String[] args) {
MyFunctionalInterface func = () -> System.out.println("람다 표현식으로 메서드 구현");
func.myMethod(); // 출력: 람다 표현식으로 메서드 구현
}
}
람다 표현식의 활용
람다 표현식은 다양한 상황에서 유용하게 사용됩니다. 특히 컬렉션과 스트림 API에서 많이 활용됩니다.
예를 들어, 리스트의 모든 요소를 출력하는 코드를 람다 표현식으로 간단히 구현할 수 있습니다.
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
names.forEach(name -> System.out.println(name));
}
}
위 코드는 리스트의 각 요소를 순회하면서 출력합니다.
forEach 메서드에 람다 표현식을 전달하여 코드가 매우 간결해졌습니다.
💡 람다 표현식은 Java에서 함수를 간결하고 직관적으로 표현할 수 있는 강력한 도구입니다.
익명 함수를 사용하여 코드의 가독성을 높이고, 함수형 프로그래밍을 적용하여 더 간단한 코드를 작성할 수 있습니다.
Java 8 이후로 람다 표현식을 활용한 프로그래밍은 더 쉽고 유연해졌습니다.
'Java' 카테고리의 다른 글
[Java] String.valueOf()와 toString() 차이점 (0) | 2024.10.14 |
---|---|
[Java] 직렬화(Serialization) (1) | 2024.09.17 |
[Java] 상속(Inheritance)보다는 컴포지션(Composition) (0) | 2024.08.24 |
[Java] JPA의 @Lock 동시성 제어 (0) | 2024.08.12 |
[Java] for 루프와 Stream API (0) | 2024.08.10 |