728x90
Section17 람다식
람다식
JDK 1.8부터 자바에서 지원하는 함수형 프로그래밍을 람다식(Lambda expression)이라고 합니다. 람다식은 함수의 이름이 없는 익명 함수(anonymous function)를 만들기 위한 표현식입니다.
람다식은 '익명 함수' 답게 메서드의 이름과 반환 타입을 제거하고 화살표 기호(→)를 사용해 구현합니다.
메서드를 람다식으로 표현하면 다음과 같습니다.
메서드 | 람다식 |
int sum (int a, int b) { return a + b; } |
(int a, int b) → {return a + b}; (int a, int b) → a + b; (a, b) → a + b; |
int sum (int a, int b) { int result = a + b; return result; } |
(int a, int b) → {return a + b}; (int a, b) → {return a + b}; |
String getName(String str); | (String str) → {return str}; (str) → str; str → str; |
- 메서드의 구문이 return만 존재하는 경우에는 중괄호와 return을 생략할 수 있습니다.
- 메서드의 파라미터가 1개인 경우에는 파라미터의 소괄호를 생략할 수 있습니다.
람다식 선언
람다식을 사용하기 위해서는 함수형 인터페이스를 선언합니다. 함수형 인터페이스는 익명 함수와 매개 변수만으로 구현되기 때문에 하나의 메서드만을 가져야 합니다.
@FunctionalInterface 애노테이션
함수형 인터페이스 선언 시 @FunctionalInterface 애노테이션을 사용하면 메서드를 두 개 이상 선언하는 개발자의 실수를 방지할 수 있습니다.
728x90