자바는 8 버전부터 객체지향 언어임에도 불구하고 함수형 프로그래밍 기법 사용이 가능해졌다. 함수형 프로그래밍은 함수를 중심으로 프로그래밍하는 기법인데, 코드 가독성과 유지보수 확보를 위해 사용한다. 자바에서 메소드는 무조건 클래스 안에 존재해야 하는데(객체 지향 언어이기 때문), 함수형 프로그래밍에서는 가능해졌다. 메소드를 객체 생성 없이 사용할 수 있다는 것을 의미한다. 함수형 프로그래밍에서는 람다식과 함수형 인터페이스를 사용하여 함수를 표현하게 된다. 함수형 인터페이스는 단 하나의 추상 메소드를 가지는 인터페이스이다. 함수형 인터페이스는 @FunctionalInterface 라는 Annotation 이 사용된 것을 볼 수 있다. Annotation 은 특정 제약사항을 걸어줄 때 사용하는데, 함수형 인..