[java] 자바에서 제공하는 기본 함수형 인터페이스는 어떤 것이 있나요?
  1. Consumer: 하나의 인수를 받아서 처리하는 함수형 인터페이스입니다. 리턴값이 없으므로, 전달받은 인수에 대해 어떤 동작을 수행하는 용도로 사용됩니다. 예를 들어, `Concumer`은 String 타입의 인수를 받아 출력하는 동작을 수행할 수 있습니다.

  2. Supplier: 인수를 받지 않고 값을 반환하는 함수형 인터페이스입니다. 값의 생성을 담당하며, `get()` 메서드를 통해 값을 반환합니다. 예를 들어, `Supplier`은 Integer 타입의 값을 생성하여 반환하는 용도로 사용될 수 있습니다.

  3. Predicate: 하나의 인수를 받아서 조건을 검사하는 함수형 인터페이스입니다. boolean 값을 반환하며, 주로 조건을 만족하는지 검사하는 용도로 사용됩니다. 예를 들어, `Predicate`는 Integer 타입의 값이 양수인지 검사하는 동작을 수행할 수 있습니다.

  4. Function<T, R>: 하나의 인수를 받아 연산을 수행하고 결과를 반환하는 함수형 인터페이스입니다. 입력값과 출력값의 타입을 각각 T와 R로 지정하여 사용합니다. 예를 들어, Function<Integer, String>은 Integer 타입의 값을 받아서 String 타입으로 변환하는 동작을 수행할 수 있습니다.

여기에 소개한 기본 함수형 인터페이스 외에도 더 다양한 종류가 있습니다. 자바 8에서는 java.util.function 패키지에서 기본 함수형 인터페이스를 제공하므로, 필요한 상황에 맞게 적절한 함수형 인터페이스를 선택하여 사용할 수 있습니다.

[참고 자료]