[java] 자바 함수형 인터페이스란 무엇인가요?

자바에서 함수형 프로그래밍을 지원하기 위해 자바 8부터 도입된 개념 중 하나는 함수형 인터페이스입니다. 함수형 인터페이스는 단 하나의 추상 메서드만을 가지고 있는 인터페이스를 말합니다.

함수형 인터페이스는 람다식이나 메서드 참조와 같은 함수형 프로그래밍 기법을 사용하기 위해 사용됩니다. 이러한 인터페이스를 사용하면 코드의 가독성이 향상되고, 함수적인 동작을 더 쉽게 표현할 수 있습니다.

함수형 인터페이스의 예를 살펴보면, java.util.function 패키지에는 다양한 함수형 인터페이스가 정의되어 있습니다. 예를 들어, Consumer<T>는 단일 인자를 받고 결과를 반환하지 않는 연산을 수행하는 함수형 인터페이스입니다. Supplier<T>는 인자를 받지 않고 결과를 반환하는 함수형 인터페이스입니다. Predicate<T>는 인자를 받아서 논리적인 값을 반환하는 함수형 인터페이스입니다.

함수형 인터페이스를 사용하기 위해서는 @FunctionalInterface 어노테이션을 해당 인터페이스에 추가해 주어야 합니다. 이 어노테이션은 인터페이스가 정말로 함수형 인터페이스임을 명시적으로 표시하는 역할을 합니다.

함수형 인터페이스를 사용하면 익명 클래스나 람다식을 통해 간결하게 함수형 스타일로 코드를 작성할 수 있습니다.

이렇게 자바에서 제공하는 함수형 인터페이스를 사용하면 더욱 간결하고 효율적인 코드를 작성할 수 있으며, 함수형 프로그래밍의 장점을 누릴 수 있습니다.

참고자료: