람다식(Lambda expression)은 함수를 선언할 때, 괄호와 화살표를 이용해 간단하게 선언할 수 있어 불필요한 코드를 줄일 수 있고 가독성을 높일 수 있어 만들어진 기능이다.
람다식은 함수형 인터페이스의 인스턴스를 생성하여 함수를 변수처럼 다룰 수 있다.
보통 Stream 연산들은 매개변수로 함수형 인터페이스를 받도록 되어있기 때문에 람다식을 많이 사용하게 된다.
람다식의 장점
1.
코드를 간결하게 만들 수 있고 가독성이 높아진다.
2.
함수를 만드는 과정이 없어 생산성이 높아진다.
람다식의 단점
1.
람다식은 재사용이 불가능하다.
2.
디버깅이 어렵다.
3.
비슷한 람다식이 너무 많이 반복 사용되면 코드가 지저분해질 수 있다.
람다식(Lambda Expression)이란?
자바 8버전에 추가된 기능중에 하나인 람다식(Lambda expression) 은 메서드를 하나의 식으로 표현한 것이다. 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다.
메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수'라고도 한다.
람다식의 도입으로 자바는 객체지향언어인 동시에 함수형 언어가 되었다.
(매개변수) -> (식) 과 같은 구조를 이루고 있고, 식의 연산 결과가 반환 값이 된다.
// 식의 연산 결과가 void 이므로 반환 값은 없음
() -> System.out.println("람다식!!")
// 식의 연산 결과가 int 이므로 반환 값은 a+b
(int a, int b) -> a+b
Plain Text
복사