[java] 함수형 인터페이스를 사용하여 반복적인 작업을 처리하는 방법은 어떻게 되나요?

반복적인 작업을 처리하는데 함수형 인터페이스를 사용하는 방법은 다음과 같습니다.

  1. 함수형 인터페이스 정의하기: 반복 작업을 처리하기 위한 함수형 인터페이스를 먼저 정의해야 합니다. Java에서 기본적으로 제공되는 함수형 인터페이스인 Consumer를 사용할 수 있습니다. Consumer는 값을 받아서 소비하는 역할을 하는 함수형 인터페이스입니다.

  2. 반복 작업 구현하기: 반복 작업을 처리하는 코드를 구현합니다. 예를 들어, 배열의 모든 요소를 출력하는 작업을 수행하는 코드를 구현해보겠습니다.

    import java.util.Arrays;
    import java.util.function.Consumer;
    
    public class Main {
        public static void main(String[] args) {
            String[] names = {"Alice", "Bob", "Charlie"};
       
            Consumer<String> printName = name -> System.out.println(name);
       
            Arrays.stream(names).forEach(printName);
        }
    }
    

    위 코드에서는 Consumer를 사용하여 printName이란 변수를 정의하고, 람다 표현식을 통해 출력하는 코드를 작성했습니다. 그리고 Arrays.stream() 함수를 사용하여 배열을 스트림으로 변환하고, forEach() 함수를 사용하여 각 요소를 printName으로 전달하여 출력하도록 했습니다.

    이렇게 하면 배열의 모든 요소가 출력되게 됩니다.

여기서 주의할 점은 함수형 인터페이스를 사용하면서 람다 표현식을 활용하는 것입니다. 람다 표현식은 간결하면서도 강력한 함수형 프로그래밍 기능을 제공하며, 반복 작업을 처리할 때 효과적으로 사용할 수 있습니다.

참고 문서: