람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다.
람다의 특징
람다의 구조
()
생략 가능{}
생략 가능. {}
이 생략되면 return 키워드와 **;(세미콜론)**도 같이 생략해야 한다.표현식 스타일(expression style) 람다(기본 문법)
(parameters) -> expression
블록 스타일(block style) 람다
(parameters) -> { statements; }
앞에서 설명한 람다 규칙에 맞지 않는 람다 표현식을 고르시오.
정답
불리언 표현식
(List<String> list) -> list.isEmpty()
객체 생성
() -> new Apple(10)
객체에서 소비
(Apple a) -> {
System.out.println(a.getWeight());
}
객체에서 선택/추출
(String s) -> s.length()
두 값을 조합
(int a, int b) -> a * b
두 객체 비교
(Apple a1, Apple a2) -> a1.getWeight().compareTo(a2.getWeight())
함수형 인터페이스는 정확히 하나의 추상 메서드를 지정하는 메서드이다.