티스토리 뷰
추상 메소드가 오직 하나인 인터페이스 |
여러 디폴트 메소드가 있더라도 추상 메소드가 하나이면 함수형 인터페이스라고 함.
람다 표현식은 함수형 인터페이스를 기반으로 작성됨.
@FunctionalInterface 어노테이션을 사용하여 인터페이스가 함수형 인터페이스임을 명시하고, 조건에 맞는지를 검사할 수 있음
@FunctionalInterface
interface CustomInterface<T>{
//하나의 abstract method
T operation();
//상관x
default void defaultOperation(){
System.out.println("Default Operation");
}
static void staticOperation(){
System.out.println("Static Operation");
}
}
다음과 같이 여러 종류의 인터페이스가 존재함.
Predicate
T -> boolean
인자 하나를 받아 boolean 타입을 리턴함.
Consumer
T -> void
어떤 것도 리턴하지 않음.
소비(Consume)만 하고 종료된다는 의미
Supplier
() -> T
아무 인자를 받지 않고 T 객체를 리턴함
Function<T,R>
T -> R
특정 값(T)를 받아서 다른 값(R)으로 반환함.
Comparator
(T,T) -> int
compare 메소드와 비슷
Runnable
() -> void
Callable
() -> T
두 개의 인자를 받는 Bi 인터페이스
두 개 이상의 타입을 인자로 받을 수 있는 인터페이스가 존재함.
함수형 인터페이스 | 메소드 | 매개변수 -> 반환값 |
BiPredicate | boolean test(T t, U u) | (T,U) -> boolean |
BiConsumer | void accept(T t, U u) | (T,U) -> void |
BiFunction | R apply(T t, U u) | (T,U) -> R |
Ex) BiFunction
...
BiFunction<Double,Double,Double> expression
= (num,num2) -> num1+num2;
//print 3.5
System.out.println(expression.apply(2.5+1.0));
Java 8 함수형 인터페이스 (Functional Interface) :: 뱀귤 블로그 (tistory.com)
Java 8 함수형 인터페이스 (Functional Interface)
Overview 함수형 인터페이스란 1 개의 추상 메소드를 갖는 인터페이스를 말합니다. Java8 부터 인터페이스는 기본 구현체를 포함한 디폴트 메서드 (default method) 를 포함할 수 있습니다. 여러 개의 디
bcp0109.tistory.com
[Java] 함수형 인터페이스 (Functional Interface) (tistory.com)
[Java] 함수형 인터페이스 (Functional Interface)
지난 포스팅에 이어서 본 포스팅에서는 Java8에 이미 정의된 함수형 인터페이스에 대해 알아봅니다. 함수형 인터페이스를 개발자가 직접 만들어서 사용할 수 있지만 항상 새로운 함수형 인터페
inma.tistory.com
'JAVA' 카테고리의 다른 글
SOLID(객체 설계의 5원칙) (0) | 2022.03.26 |
---|---|
Collections.sort vs Arrays.sort (0) | 2021.12.07 |
BufferedReader, BufferedWriter (0) | 2021.11.24 |
[java] Map method (0) | 2021.11.06 |
Map 을 정렬된 ArrayList로 변환 (0) | 2021.11.06 |
- Total
- Today
- Yesterday
- HashSet
- prirotyqueue
- 완전 탐색
- 부분 합
- 완전탐색
- Greedy
- 페르마의 정리
- 동적계획법
- 구간 합
- 분할 정복
- 비트마스킹
- dp
- 분할정복
- 배낭 문제
- Sort
- Priority Queue
- 이분탐색
- MaxHeap
- 위상 정렬
- 최단 거리
- 백트래킹
- MinHeap
- RequiredArgsConstructor
- 희소 배열
- 참조 지역성
- Knapsack
- dfs
- LowerBound
- 누적 합
- Segment Tree
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |