티스토리 뷰

 

추상 메소드가 오직 하나인 인터페이스

여러 디폴트 메소드가 있더라도 추상 메소드가 하나이면 함수형 인터페이스라고 함.

 

람다 표현식은 함수형 인터페이스를 기반으로 작성됨.

 

@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
링크
«   2025/05   »
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
글 보관함