반응형
일반적으로 자주 쓰이는 형식의 메서드를 함수형 인터페이스로 미리 정의해 놓은게 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 | 두 개의 매개변수를 받아서 하나의 결과를 반환 |
반응형
'DEV > Java' 카테고리의 다른 글
[객체지향설계] SOLID 원칙 (7) | 2023.03.03 |
---|---|
[자바] 제네릭 Parameter Type - Naming Conventions (8) | 2023.02.24 |
[자바] 메소드 참조 (2) | 2023.02.23 |
[자바] 함수형 인터페이스(Functional Interface) (5) | 2023.02.22 |
[자바] 람다식(Lambda expression) (1) | 2023.02.22 |
댓글