람다식(Lamda expression)
: 나중에 실행될 목적으로 다른 곳에 전달될 수 있는 코드 블록
이름이 없는 함수
함수가 필요한 곳에 간결한 양식으로 간단히 함수를 보낼 수 있음
함수가 딱 한번만 사용되고 함수의 길이가 짧은 경우에 유용함
람다식의 정의
(argument) → ( body) 구문을 사용하여 작성
람다식의 특징
- 0개 이상의 매개 변수를 가질 수 있음
- →는 람다식에서 매개 변수와 몸체를 구분함
- 매개 변수의 형식을 명시적으로 선언하거나 문맥에서 추정할 수 있음
- 매개 변수가 없는 빈 괄호도 사용 가능함
- 단일 매개 변수이고 타입이 유추가 가능한 경우 ()를 사용할 필요 없음
- 몸체에 하나 이상의 문장이 있으면 {} 로 묶어야 함
미리 만들어져 있는 함수형 인터페이스
람다식을 사용할 때마다 함수형 인터페이스를 작성할 필요가 없음
함수형 인터페이스 중 3가지
- Supplier : 공급자, return 값이 있음
Supplier<Integer> supplier = () -> new Integer((int) (Math.random() * 100));
- Consumer : 소비자, return 값이 없는 코드는 가능함
Consumer<Integer> consumer = (매개변수: value) -> 출력문(value);
- Predicate : return 값이 Boolean
Predicate predicate = (매개변수 : v) -> v != null;
Share article