본문 바로가기

Java

JAVA8) 함수형 인터페이스

함수형 인터페이스는 하나의 abstract 메소드를 가지는 인터페이스이다.

 

앞선 함수형 프로그래밍의 특징 중 1급 객체라는 것이 있었다.

 

변수와 collection에 자료를 할당하고,

함수의 파라미터로 넘겨주고,

반환값으로 사용이 가능하다는 것.

 

 

Java의 함수는 이런 역할을 할 수 없다.

java에서 함수를 1급 객체처럼 다룰 수 있게 하기 위해 생긴 것이 함수형 인터페이스이다.

 

interface Movable {
	void move(int num);
}

이 인터페이스를 구현한 클래스로 만든 객체는 하나의 단 하나의 함수를 가진다.

이는 1:1관계가 되어 이 객체를 만드는 것은 이 함수를 사용한다는 말과 같게 됨으로써 1급 객체처럼 사용할 수 있다.

 

 

 

 

자바의 주요 함수형 인터페이스)

Function<T, R> : 하나의 T를 매개변수로 입력받아 하나의 R로 변환하여 반환.

Supplier<T> : 매개변수 없이 T라는 단일 반환값을 만들어냄.

Consummer<T> : T라는 단일 매개변수를 받아들여 리턴값이 없는 작업을 함.

docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html

'Java' 카테고리의 다른 글

JAVA8) 메소드 레퍼런스  (0) 2020.12.11
JAVA8) 람다 표현식  (0) 2020.12.11
함수형 인터페이스  (0) 2020.12.11
static 메소드 사용  (0) 2020.12.09
equals() Overriding  (0) 2020.12.09