람다식 또는 람다 함수 라고 한다.
람다식은 수학자 Alonzo Church가 발표한 람다 계산법에서 사용된 식으로 이를 그의 제자 John McCarthy가 프로그래밍 언어에 도입했다
자바에서는 함수적 프로그래밍을 위해서 자바 8부터 람다식을 지원하기 시작하며 기존 코드의 패턴이 많이 달라졌다.
자바가 람다식을 수용한 이유는 자바 코드가 매우 간결해지고, 컬렉션의 요소를 필터링하거나 매핑해서 원하는 결과를 쉽게 집계 할 수 있기 때문이다.
람다식의 형태는 매개 변수를 가진 코드 블록이지만, 런타임 시에는 익명 구현 객체를 생성한다
람다식 -> 매개 변수를 가진 코드 블록 -> 익명 구현 객체
Runnable 익명 구현 객체를 람다식으로 표현
Runnable runnable = new Runnable() -> {...};
Runnable runnable = () -> {...};
Runnable의 익명 구현 객체
Runnable runnable = new Runnable() {
@Override
public void run() {
}
};