함수형 인터페이스

다른 메소드는 얼마든지 있든 상관없이 추상화 메소드는 하나만 있어야 된다.
@FunctionalInterface 추가해야하고, SAM(Single Abstract Method) 인터페이스이다.

일급시민객체(first class object)

다른 변수들처럼 함수형 인터페이스를 변수로 선언하거나, 매개변수로 주는 등 다른 변수와 차이가 없음을 의미한다.

고차함수

함수가 함수를 매개변수로 받고 리턴할 수 있다.

순수함수

상태가 존재하지 않으므로 반환되는 값이 변경될 일이 없다.
사이드 이펙트가 없다.

불변성

추가

java 8부터 인터페이스 메소드 public 생략 가능