Lambda Expression

이름은 존재하지 않고 1급 객체

익명으로 사용되지만 메서드와 같은 특성은 가지고 있어서 코드를 간결하게 할수있다는 장점이 있다.

특징

사용 예시

Functional Interface

함수형 인터페이스(Functional Interface) 란?

함수형 인터페이스(Functional Interface) 란 하나의 추상메서드를 지정하는 인터페이스. Java 의 기본 함수형 인터페이스의 예시로 Runnable, Callable, Comparator등이 있다.

한개만 존재하는 추상메서드는 SAM(Single Abstract Method) 라고 부르기도 한다.

<aside> 💡 함수형 인터페이스를 사용할때는 @FunctionalInterface 어노테이션을 사용하는것을 권장하고 있다. 어노테이션 표시는 인터페이스의 목적을 명확하게 보여주며 어노테이션 되있는 인터페이스가 조건을 충족하지 못할때 컴파일러가 에러를 발생시켜주기 때문이다.

</aside>

<aside> 💡 람다표현식(Lambda Expression) 과 함수형 인터페이스(Functional Interface)의 관계

람다 표현식은 함수형 인터페이스를 인자로 받는 메서드에만 사용할수 있다. 컴파일러에서는 프로그램 실행시 함수형 인터페이스에 단 하나의 추상메서드만 있는지 검사를 하고 두개 이상의 추상메서드가 있다면 에러가 발생한다.

</aside>