[java] 자바 함수형 인터페이스를 활용하여 다른 인터페이스를 구현하는 방법은 어떻게 되나요?

자바 8부터는 함수형 프로그래밍을 지원하기 위해 함수형 인터페이스를 도입했습니다. 함수형 인터페이스는 단일 추상 메서드(SAM, Single Abstract Method)를 가지고 있는 인터페이스로, 람다 표현식이나 메서드 참조 등을 사용하여 함수를 전달할 수 있습니다.

다른 인터페이스를 구현하는 방법은 크게 두 가지로 나눌 수 있습니다. 첫 번째로, 기존에 정의된 함수형 인터페이스를 사용하여 다른 인터페이스를 구현하는 방법이 있습니다. 예를 들어, Consumer 함수형 인터페이스를 구현하고 싶다면, 다음과 같은 코드를 작성할 수 있습니다.

public class MyConsumer implements Consumer<Integer> {
    @Override
    public void accept(Integer number) {
        System.out.println("Number: " + number);
    }
}

이 코드에서는 Consumer<Integer> 인터페이스를 구현하여 accept() 메서드를 오버라이딩하고 있습니다.

두 번째로, 직접 함수형 인터페이스를 정의하여 다른 인터페이스를 구현하는 방법이 있습니다. 이 경우에는 자신이 원하는 추상 메서드를 가진 함수형 인터페이스를 만들어 사용할 수 있습니다. 예를 들어, 아래와 같이 MyInterface라는 함수형 인터페이스를 정의하고 구현할 수 있습니다.

@FunctionalInterface
public interface MyInterface {
    void myMethod(int number);
}

public class MyClass implements MyInterface {
    @Override
    public void myMethod(int number) {
        System.out.println("Number: " + number);
    }
}

이 예제에서는 MyInterface라는 함수형 인터페이스를 정의하고, MyClass에서 이 인터페이스를 구현하여 myMethod() 메서드를 구현하고 있습니다.

함수형 인터페이스를 활용하여 다른 인터페이스를 구현하는 방법은 간단하고 유연한 방법입니다. 함수형 인터페이스의 장점을 활용하여 더욱 효율적인 코드를 작성할 수 있습니다.