람다 표현식
- 람다 표현식은 자바 8에서 도입된 기능으로, 메서드를 하나의 식(expression)으로 간결하게 표현하는 방법이다. 이는 "익명 함수(anonymous function)"라고도 불리며, 주로 함수형 인터페이스(functional interface)에 사용된다.
람다 표현식 장/단점
장점
- 간결성: 람다 표현식을 사용하면 복잡한 익명 클래스를 짧고 명료한 형태로 표현할 수 있다.
- 가독성 향상: 람다 표현식은 코드의 양을 줄이고, 의도를 명확하게 전달하여 코드의 가독성을 높인다.
- 생산성 향상: 간결한 코드는 작성과 유지보수에 드는 시간을 줄여주어 생산성을 높일 수 있다.
단점
- 재사용성 부족: 람다는 익명이므로 재사용하기 어렵다.
- 디버깅 어려움: 람다 표현식의 디버깅은 일반 메서드보다 어려울 수 있다.
- 재귀에 부적합: 람다는 이름이 없어 자기 자신을 직접 참조하기 어렵다. 따라서 재귀 호출에는 적합하지 않다.
import java.util.Arrays;
import java.util.List;
public class LambdaExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 람다 표현식을 사용하여 각 요소 출력
numbers.forEach((number) -> System.out.println(number));
// 메서드 참조를 사용한 더 간결한 형태
numbers.forEach(System.out::println);
}
}
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
public class LambdaExample {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
// 익명 클래스를 사용하여 각 요소 출력
numbers.forEach(new Consumer<Integer>() {
@Override
public void accept(Integer number) {
System.out.println(number);
}
});
}
}