ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 함수형 인터페이스
    공부/Java 2024. 5. 17. 17:48

     

    함수형 인터페이스

     

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

    ※ @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
Designed by Tistory.