배움과 성장/소프트웨어 개발
Java 람다식: 함수형 인터페이스·target type·effectively final
Java 람다식은 이름 없는 코드 조각을 단독 값처럼 아무 곳에나 저장하는 문법이 아니다. 컴파일러가 Predicate, Comparator 같은 함수형 인터페이스를 target type으로 알아낼 수 있는 문맥에서 그 인터페이스의 단일 추상 메서드 구현을 표현한다. Java 8에서 람다가 도입됐다는 사실보다 이 연결을 이해하는 것이 먼저다.기존에 JDK 1.8 람다를 공부하며 링크만 모아 둔 메모를, 현재 Java 언어 명세를 기준으로 다시 정리했다.함수형 인터페이스가 target type이 된다함수형 인터페이스는 하나의 추상 메서드 계약을 가진 인터페이스다. default와 static 메서드는 그 계약에 포함되지 않고, Object의 public 메서드를 재정의하는 선언도 함수형 메서드 계산에서 제..