[java] 람다 표현식의 타입 추론은 어떻게 동작하나요?
람다 표현식의 타입 추론은 컴파일러가 해당 람다 표현식을 기반으로 함수형 인터페이스의 인스턴스를 생성하기 때문에 중요합니다. Java 8부터는 람다 표현식을 이용하여 코드를 더 간결하게 작성할 수 있습니다.
타입 추론은 컴파일러가 람다 표현식의 매개변수 타입 및 반환 타입을 추론하는 프로세스를 말합니다. 컴파일러는 컨텍스트를 활용하여 람다 표현식의 타입을 추론합니다.
예를 들어, 다음과 같은 람다 표현식이 있다고 가정해보겠습니다.
Function<Integer, String> converter = (input) -> Integer.toString(input);
위의 코드에서 Function
은 함수형 인터페이스이며, 람다 표현식은 Integer
를 입력으로 받아 String
을 반환합니다. 컴파일러는 converter
의 타입을 통해 매개변수 input
과 반환값의 타입을 추론할 수 있습니다.
타입 추론을 통해 람다 표현식을 사용할 때 매개변수의 타입 선언을 생략할 수 있어서 코드가 더 간결해지고 가독성이 좋아집니다.
참고 문헌:
- https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
[tag-java] [tag-lambda] [tag-type-inference]