람다식이란?

람다식(Lambda Expression)이란 함수를 하나의 식(expression)으로 표현한 것이다. 함수를 람다식으로 표현하면 메소드의 이름이 필요 없기 때문에, 람다식은 익명 함수(Anonymous Function)의 한 종류라고 볼 수 있다.

Java 8의 핵심! 함수형 프로그래밍 방식을 사용하기 위해 람다를 도입했다.

목적

불필요한 코드를 줄이고, 가독성을 높이기 위함

메소드가 한번만 사용되고 메소드(실행문)의 길이가 짧을 때 유용하다.

병렬처리, 이벤트 처리, 스트림 처리 등.. 에 많이 사용

람다 사용 조건

람다식으로 구현하기 위한 인터페이스는 추상 메소드가 단 1개 이어야 한다.

2개 이상인 경우 어떤 메소드를 람다식으로 표현했는지 알 수 없어서 이다.

예를 들어 보자. Calculator라는 람다를 사용하기 위한 인터페이스를 만들어, 사용자는 잘 사용하고 있었다. 그러다 인터페이스 설계자가 인터페이스에 추상 메서드를 추가했다.

public interface Calculator {
	public int cal(int num1, int num2);
	**public int cal2(int num1);**
}

eclipse

eclipse

intellij

intellij

그랬더니 사용자 코드에서 에러가 나기 시작한다. → 사용자가 에러가 난다고 알려준다. → 설계자는 이제서야 해당 인터페이스가 람다식을 위한 단일 추상메소드를 가진 인터페이스였음을 알 수 있다.