728x90
반응형
함수형 인터페이스(Functional Interface)는 Java 프로그래밍에서 중요한 개념 중 하나입니다. 함수형 인터페이스는 Java 8 이후에 도입되었으며, 람다식(lambda expression)과 스트림 API와 같은 기능들과 함께 함수형 프로그래밍 스타일을 지원합니다.
함수형 인터페이스(Functional Interface)란?
함수형 인터페이스는 하나의 추상 메서드(abstract method)를 정의하는 인터페이스입니다. 이것은 말 그대로 '함수'의 역할을 수행할 수 있는 인터페이스를 나타냅니다. 이 인터페이스는 다양한 함수형 프로그래밍 기법을 구현하는 데 사용됩니다. Java 8에서는 함수형 인터페이스를 명확하게 표시하기 위해 @FunctionalInterface 어노테이션을 도입했습니다.
특징
- 단일 추상 메서드: 함수형 인터페이스는 반드시 하나의 추상 메서드만을 가져야 합니다. 이 메서드가 인터페이스의 주요 동작을 정의하며, 람다식을 통해 이 메서드를 구현합니다.
- @FunctionalInterface 어노테이션: 함수형 인터페이스를 정의할 때 @FunctionalInterface 어노테이션을 사용하면 컴파일러가 해당 인터페이스가 함수형 인터페이스로 사용될 수 있는지 확인합니다.
활용 방법
함수형 인터페이스는 람다식과 함께 주로 사용됩니다. 람다식은 함수형 인터페이스의 추상 메서드를 구현하는 데 특히 유용하며 코드를 간결하게 만듭니다.
예제를 들어보면
import java.util.List;
import java.util.function.Consumer;
public class FunctionalInterfaceExample {
public static void main(String[] args) {
List<String> fruits = List.of("사과", "바나나", "귤", "메론");
// Consumer 함수형 인터페이스를 사용한 람다식
Consumer<String> printFruit = (fruit) -> {
System.out.println(fruit);
};
// 리스트의 각 요소에 람다식을 적용
fruits.forEach(printFruit);
}
}
Consumer<T> 인터페이스를 사용하여 람다식을 정의하고 forEach를 통해 콘솔에 출력하게 됩니다.
함수형 인터페이스와 람다식은 Java 8 이후의 중요한 기능으로, 함수형 프로그래밍 스타일을 지원합니다. 이를 통해 코드를 간결하게 작성하고 가독성을 높일 수 있으며, 병렬 프로그래밍과 스트림 API와 같은 다양한 기능을 활용할 수 있습니다. 함수형 인터페이스와 람다식을 잘 활용하면 Java 프로그래밍을 더 효율적으로 수행할 수 있습니다.
728x90
반응형
'Study' 카테고리의 다른 글
| [정처기 실기] 핵심 키워드 5문제 (1) (0) | 2024.03.03 |
|---|---|
| [정보처리기사] 1강 정리 (0) | 2024.01.19 |
| [java] 람다식(Lambda expression) (0) | 2023.10.28 |
| [Java] 제네릭(Generic) (0) | 2023.10.27 |
| 2023 벤처스타트업 SW개발인재 매칭 페스티벌 (0) | 2023.10.26 |