함수형 인터페이스

장서연·2022년 1월 17일
0

함수형 인터페이스?

단 하나의 추상 메서드만 선언된 인터페이스

interface MyFunction {
	public abstrack int max(int a, int b);
    // 인터페이스의 모든 메서드는 예외없이 public 이면서 abstract 이기 때문에 생략 가능
}

함수형 인터페이스 활용

람다식 참조를 위해 함수형 인터페이스를 사용할 수 있다.

MyFunction f = new MyFunction() {
					public int max(int a, int b){
                    	return a > b? a:b;
                    }
                   };

int value = f.max(3,5);

또는

@FunctionalInterface // 함수형 인터페이스는 단 하나의 추상 메서드만 가져야 함
MyFunction f= (a, b) -> a>b ? a:b; // 람다식(익명 객체)을 다루기 위한 참조변수의 타입은 함수형 인터페이스로 한다.
int value = f.max(3,5)

함수형 인터페이스 타입의 매개변수

void aMethod(MyFunctin f) {
	f.myMethod(); // 람다식 호출, 즉 MyFunction에 정의된 메서드 호출
}

MyFunction f = ()->System.out.println("hello world");
aMethod(f);

0개의 댓글