[java] 람다 표현식의 타입 추론은 어떻게 동작하나요?

람다 표현식의 타입 추론은 컴파일러가 해당 람다 표현식을 기반으로 함수형 인터페이스의 인스턴스를 생성하기 때문에 중요합니다. Java 8부터는 람다 표현식을 이용하여 코드를 더 간결하게 작성할 수 있습니다.

타입 추론은 컴파일러가 람다 표현식의 매개변수 타입 및 반환 타입을 추론하는 프로세스를 말합니다. 컴파일러는 컨텍스트를 활용하여 람다 표현식의 타입을 추론합니다.

예를 들어, 다음과 같은 람다 표현식이 있다고 가정해보겠습니다.

Function<Integer, String> converter = (input) -> Integer.toString(input);

위의 코드에서 Function은 함수형 인터페이스이며, 람다 표현식은 Integer를 입력으로 받아 String을 반환합니다. 컴파일러는 converter의 타입을 통해 매개변수 input과 반환값의 타입을 추론할 수 있습니다.

타입 추론을 통해 람다 표현식을 사용할 때 매개변수의 타입 선언을 생략할 수 있어서 코드가 더 간결해지고 가독성이 좋아집니다.

참고 문헌:

[tag-java] [tag-lambda] [tag-type-inference]