본문 바로가기
DEV/Java

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

by 어쩌다개발 2023. 3. 3.
반응형

일반적으로 자주 쓰이는 형식의 메서드를 함수형 인터페이스로 미리 정의해 놓은게 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 두 개의 매개변수를 받아서 하나의 결과를 반환

 

반응형

댓글