Post

Java가 제공하는 함수형 인터페이스

함수형 인터페이스 표준 API

함수형 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스를 말합니다.

이 인터페이스 형태의 목적은 자바에서 람다 표현식(Lambda Expression)을 이용해 함수형 프로그래밍을 구현하기 위해서 입니다.

함수적 인터페이스 표준 API는 java.util.function 패키지로 제공됩니다.

image

이러한 인터페이스들을 만든 이유는 람다 함수의 타입명을 미리 지정하기 위해서 입니다.

1
2
3
import java.util.function.*;

Runnable 인터페이스

대표적인 예) 쓰레드

1
2
3
4
5
Thread thread = new Thread( () -> {
    for(int i = 0; i < 10; i++) {
        System.out.println(i);
    }
} );

Thread 클래스 정의문에 가서 생성자 형태를 보면 파라미터로 Runnalbe 타입의 target 변수를 받아 사용합니다.

Consumer 인터페이스

역할 : 매개값만 받고 처리합니다. (리턴값 X)

실행 메서드 : accept()

image

Supplier 인터페이스

역할 : 아무 매개값 없이 리턴값만을 반환합니다.

실행 메서드 : getXXX()

image

Function 인터페이스

역할 : 다른 타입으로 변환합니다.

실행 메서드 : applyXXX()

image

Operator 인터페이스

역할 : 매개값을 계산해서 동일한 타입으로 리턴합니다.

실행 메서드 : applyXXX()

image

Predicate 인터페이스

역할 : 매개값을 받고 true/ false로 리턴합니다.

실행 메서드 : test()

image

This post is licensed under CC BY 4.0 by the author.