표준 함수형 인터페이스 사용

자바 8부터 함수형 인터페이스 지원으로 다양한 일을 할 수 있게 됐다. 그 쓰임새가 늘어남에 따라 java.util.function에는 다양한 용도의 표준 함수형 인터페이스가 담겨 있다. 필요한 용도에 맞는게 있다면, 직접 구현하지 말고 이를 사용하는 것이 좋다. 보통 이름만으로 동작을 어느 정도 예측할 수 있기 때문이다. 만약 직접 구현해야한다면 언제 구현하는게 좋을까?

  • 자주 쓰이며, 이름 자체가 용도를 명확히 전달한다.
  • 반드시 따라야할 규약이 있다.
  • 유용한 디폴트 메소드를 제공할 수 있다.

만일 직접 만들어 써야 한다면 네이밍 컨벤션을 잘 지키자. 그리고 표준 함수형 인터페이스에는 기본 타입만 지원하는 것을 볼 수 있는데, 직접 만들어 사용할 때도 최대한 기본형을 사용하는 것을 추천한다. 동작은 가능하지만 박싱, 언박싱 과정이 리소스를 낭비한다. 또한 함수형 인터페이스도 인터페이스다. 배포하면 돌이킬 수 없다. 따라서 신중히 작성하자. 마지막으로 @FunctionalInterface를 사용하자 이 어노테이션을 붙이면 해당 인터페이스가 함수형 인터페이스 조건을 만족하는지 컴파일 타임에 체크할 수 있다.