DEV/Java

[자바] java.util.function 패키지

어쩌다개발 2023. 3. 3. 13:07
반응형

일반적으로 자주 쓰이는 형식의 메서드를 함수형 인터페이스로 미리 정의해 놓은게 java.util.function 패키지이다.

인터페이스에 정의된 메서드 이름도 통일되고, 재사용성이나 유지보수 측면에서 매번 새로운 함수형 인터페이스를 정의하지 말고, 가능하면 이 패키지의 인터페이스를 활용하는 것이 좋다.

기본 함수형 인터페이스

java.lang.Runnable void run() 매개변수도 없고, 반환값도 없음.

Supplier<T> T get() -> T 매개변수는 없고, 반환값만 있음.

Spplier : 공급자 - 받는거 없이 주기만 한다.

Consumer<T> T -> void accept(T t) Supplier와 반대로 매개변수만 있고, 반환값이 없다.

Consumer : 소비자 - 받기만 하고 주는게 없다.

Function<T, R> T -> R apply(T t) -> R 일반적인 함수. 하나의 매개변수를 받아서 결과를 반환

 

Predicate<T> T -> boolean test(T t) -> boolean 조건식을 표현하는데 사용됨. 매개변수는 하나, 반환 타입은 boolean

Predicate : 수학에서 결과로 true 또는 false를 반환하는 함수를 프레디케이트라고 한다.

* 타입문자 'T'는 'Type'을, 'R'은 'Return Type'을 의미한다.

매개변수가 두 개인 함수형 인터페이스

매개변수의 개수가 2개인 함수형 인터페이스는 이름 앞에 접두사 'Bi'가 붙는다.

함수형 인터페이스 메서드 설명
BiConsumer<T, U> T, U -> void accept(T t, U u) 두 개의 매개변수만 있고, 반환값이 없음
BiPredicate<T, U> T, U -> boolean test(T t, U u) ->boolean 조건식을 포현하는데 사용됨. 매개변수는 둘, 반환값은 boolean.
BiFunction<T, U, R> T, U - R apply(T t, U u) -> R 두 개의 매개변수를 받아서 하나의 결과를 반환

 

반응형