주니어 개발자 성장기

함수형 인터페이스 본문

Java

함수형 인터페이스

Junpyo Lee 2023. 8. 7. 21:01

개요

함수형 인터페이스란?


인터페이스인데 추상 메서드가 딱 하나만 존재하는 것. @FunctionalInterface 어노테이션을 사용해서 컴파일러의 도움을 받고 함수형 인터페이스임을 명시하는것이 좋다. 참고로 인터페이스에서는 추상 메서드에 abstract 키워드를 생략해도 된다.


실제 사용

자바에서 기본적으로 제공하는 함수형 인터페이스가 많으므로 구현하기 전에 자신에게 맞는 것이 있는지 먼저 살펴보자!


  1. Function<T, R>
    T 타입을 매개변수로 받아 R타입을 리턴하는 함수형 인터페이스
    compose, andThen 메서드로 다른 Function 인스턴스와 조합이 가능하다.
  2. Consumer<T>
    T타입을 매개변수로 받아 리턴이 void인 함수형 인터페이스
  3. Supplier<T>
    아무런 매개변수가 없고 T타입을 리턴하는 함수형 인터페이스
  4. Predicate<T>
    T타입을 매개변수로 받아 boolean 값을 반환하는 함수형 인터페이스
    and, or 등의 메서드로 다른 Predicate 인스턴스와 조합할 수 있다.


이외에도 기본적으로 제공되는 다양한 함수형 인터페이스들이 있으므로 필요할 때마다 찾아서 쓰자!


또한, 람다와 메서드 레퍼런스 형식으로도 많이 구현되어 쓰인다. 람다와 메서드 레퍼런스는 다음 포스팅에 다루도록하겠다.

'Java' 카테고리의 다른 글

Comparable과 Comparator  (0) 2023.07.15
(22.09.08)Java는 call by reference를 쓰지 않는다.  (0) 2022.09.08