반응형
자바 개발을 하면서 람다식을 제대로 이해하지 못하고 계신가요? 코드는 짧아지는데 가독성은 떨어진다고 느끼시나요? 이 글에서는 자바 8부터 도입된 람다식의 4가지 핵심 유형을 쉽게 이해할 수 있도록 정리하고자 합니다.
🔍 람다식이란?
람다식은 간단히 말해 "함수를 하나의 식으로 표현한 것"입니다. 메서드를 따로 정의하지 않고 코드 한 줄로 함수를 표현할 수 있어 Java 8 이후 함수형 프로그래밍의 핵심으로 자리 잡았습니다.
💡 람다식의 4가지 유형
1. 매개변수가 없는 람다식
가장 기본적인 형태로, 매개변수 없이 단순히 실행문만 있는 람다식입니다.
// 기존 방식
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Hello Lambda!");
}
};
// 람다식 사용
Runnable runnable = () -> System.out.println("Hello Lambda!");
2. 매개변수가 하나인 람다식
매개변수가 하나일 때는 괄호를 생략할 수 있어 더욱 간결해집니다.
// 기존 방식
Consumer<String> consumer = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
// 람다식 사용
Consumer<String> consumer = s -> System.out.println(s);
3. 매개변수가 여러 개인 람다식
여러 매개변수를 처리하는 람다식은 괄호 안에 매개변수를 나열합니다.
// 기존 방식
BiFunction<Integer, Integer, Integer> add = new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer a, Integer b) {
return a + b;
}
};
// 람다식 사용
BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;
4. 본문이 여러 줄인 람다식
실행문이 여러 줄일 경우 중괄호로 묶고 필요시 return 키워드를 사용합니다.
// 람다식 - 여러 줄 본문
Comparator<String> comp = (s1, s2) -> {
System.out.println("문자열 비교 중...");
return s1.compareTo(s2);
};
🚀 람다식의 실전 활용
람다식은 Stream API와 함께 사용할 때 진가를 발휘합니다.
List<String> names = Arrays.asList("김자바", "이스트림", "박람다");
// 기존 방식
for (String name : names) {
if (name.length() > 2) {
System.out.println(name);
}
}
// 람다식 + 스트림 활용
names.stream()
.filter(name -> name.length() > 2)
.forEach(System.out::println);
🔑 람다식 사용의 장점
- 코드 간결성: 불필요한 코드 줄임
- 가독성 향상: 의도가 명확히 드러남
- 함수형 인터페이스 활용: 메서드 참조와 조합 가능
- 병렬 처리 용이: 멀티코어 CPU 활용 최적화
✅ 마무리
람다식은 현대 자바 프로그래밍에서 필수적인 요소가 되었습니다. 이 4가지 유형만 확실히 이해하면 코드를 더 효율적이고 간결하게 작성할 수 있습니다. 람다식을 적극 활용하여 여러분의 Java 코딩 스킬을 한 단계 업그레이드 해보세요!
반응형
'백엔드' 카테고리의 다른 글
Java 제네릭 메소드 완벽 가이드: 코드의 재사용성과 안전성을 한번에! (0) | 2025.03.13 |
---|---|
Java 컬렉션 프레임워크 정리 (0) | 2025.03.06 |
자바 함수형 인터페이스란 무엇인가? (0) | 2025.03.04 |
자바와 스프링, 스프링부트 차이와 정리 (0) | 2025.02.14 |
💻 자바 메소드 오버로딩이란 무엇인가? (2) | 2025.01.17 |