같은 lambda body도 target type에 따라 호출 계약이 달라진다

본문 모양이 비슷하다고 Predicate와 Function을 바꿔 써도 된다는 뜻은 아닙니다.

Predicate<String>

test(String) → boolean

Function<String,Boolean>

apply(String) → Boolean

target 없음

parameter 타입 결정 불가

핵심: 호출자가 기대하는 method 이름과 결과 의미까지 확인합니다.