-
함수형 인터페이스
- 단 하나의 추상 메서드만 선언된 인터페이스
※ @FunctionalInterface를 붙여주면 함수형 인터페이스가 올바른지 확인해주니 붙여주면 좋다.
(추상 메서드가 한 개로 개수가 맞는지 등)
@FuctionalInterface interface MyFuntion { public abstract int max(int a, int b); } MyFunction f = new MyFuntion() { public int max(int a, int b) { return a > b ? a : b; } }; int value = f.max(3, 5);
위 예제에서 value에 값이 정상적으로 들어가게 된다.
MyFuntion 리모콘에는 max()가 있기 때문이다.
- 함수형 인터페이스 타입의 참조변수로 람다식을 참조할 수 있다.함수형 인터페이스의 메서드와 람다식의 매개변수 개수와 반환타입이 일치해야 한다.
MyFuntion f = (a, b) -> a > b ? a : b; int value = f.max(3, 5);
람다식을 활용하면 위와 같이 더 간단하게 표현할 수 있다.
람다식은 익명 객체니까 참조변수가 필요하다.
단순하게 참조변수의 타입을 함수형 인터페이스로 한 것이다.
'공부 > Java' 카테고리의 다른 글
람다식(Lambda Expression) (0) 2024.05.16 wait(), notify() (0) 2024.05.14 쓰레드의 동기화(synchronization) (0) 2024.05.13 join(), yield() (0) 2024.05.13 suspend(), resume(), stop() (0) 2024.05.12