람다와 메서드 참조의 선택 기준을 나란히 비교한다
비교 항목: 함수형 인터페이스가 람다의 타입이다 / 메서드 참조는 이미 있는 동작을 가리킨다 / 짧은 동작만 인라인에 둔다
| 확인 질문 | 판단 근거 | 코드에서 드러낼 것 |
|---|---|---|
| 함수형 인터페이스가 람다의 타입이다 | Predicate, Function, Consumer, Supplier 같은 표준 인터페이스가 입력과 결과 형태를 표현합니다. | 타입과 시작값 |
| 메서드 참조는 이미 있는 동작을 가리킨다 | String::trim, System.out::println, User::new처럼 수신자와 인자 배치가 목표 인터페이스와 맞아야 합니다. | 실패 또는 변경 경계 |
| 짧은 동작만 인라인에 둔다 | 여러 분기와 예외 처리가 들어가면 이름 붙은 메서드로 추출해 람다는 그 메서드를 참조하도록 합니다. | 선택한 규칙의 결과 |
선택 기준 여러 분기와 예외 처리가 들어가면 이름 붙은 메서드로 추출해 람다는 그 메서드를 참조하도록 합니다.