함수형 인터페이스 (Functional interface)
- 반드시 한개의 추상메소드만 있어야한다.
인터페이스 중 추상 메소드를 하나만 가지고 있는 인터페이스를 함수형 인터페이스라고 한다.
이때 @FunctionalInterface를 인터페이스 위에 작성하여 단 하나의 추상메소드만 선언할 수 있도록 제한해야한다.
=> 다른 추상메소드를 선언하는 순간 에러가 난다.
람다식
이름이 없는 메소드로서 변수처럼 사용이 가능하며, 매개변수로도 전달이 가능하다. 함수형 인터페이스는 추상 메소드가 한개만 선언되기 때문에 메소드 이름이 필요없다. 따라서 람다식을 익명 메소드라고도 부른다.
- 람다식 문법
1.(매개변수 형식 나열, ...)->실행할 문장 리턴값으로 받아야함.
- (매개변수 형식 나열,..) -> {2개 이상의 실행할 문장; return 리턴값}