RSS DEV 커뮤니티

람다 표현식의 타입은 무엇인가요?

람다는 함수형 인터페이스 타입을 가져야 하며, Object와 같이 함수형 인터페이스가 아닌 타입에 할당될 수 없습니다. 람다를 Object 타입의 변수에 할당하면 컴파일 오류가 발생합니다. 하지만 Runnable과 같이 함수형 인터페이스 타입의 변수에는 람다를 정상적으로 할당할 수 있습니다. 람다는 메서드의 인수로 직접 전달될 수도 있으며, 컴파일러는 컨텍스트를 기반으로 타입을 추론합니다. 컨텍스트에 기반한 람다 표현식의 예상 타입을 대상 타입(Target Type)이라고 합니다. 대상 타입을 통해 컴파일러는 람다 표현식의 타입을 추론하고, 동일한 람다가 서로 다른 함수형 인터페이스를 나타낼 수 있음을 인식합니다. 메서드 참조 또한 타입 추론에 대상 타입을 사용하며, 동일한 메서드 참조가 서로 다른 인터페이스에 적용될 수 있습니다. 람다와 메서드 참조의 주요 차이점은 메서드 참조는 타입이 더 명시적이기 때문에 추론이 더 강력하다는 것입니다. 또한, 호환 가능한 함수형 인터페이스 간의 변환이 허용됩니다. Java에서 람다와 메서드 참조를 사용하려면 대상 타입을 이해하는 것이 필수적입니다.
favicon
dev.to
Qual é o tipo de uma expressão Lambda?
Create attached notes ...