함수형 인터페이스
추상 메서드가 오직 하나만 존재하는 인터페이스
잠깐 쓰고 말 클래스(or 인터페이스)의 객체.
부모 클래스의 상속 or 인터페이스의 구현
interface SampleInterface {
String getName();
}
class Parent implements SampleInterface {
@Override
public String getName() {
return "parent";
}
}
public static void main(String[] args) {
//부모 클래스 객체 생성
SampleInterface parentClassInstance = new Parent();
//부모 클래스를 상속받는 익명 클래스의 객체 생성
SampleInterface anonymousClassInstance = new Parent() {
@Override
public String getName() {
return "anonymous";
}
};
//람다를 이용한 객체 생성
//SampleInterface에 추상 메서드가 오직 하나이기 때문에 알아서 추론
SampleInterface lambdaInstance = () -> "lambda!";
System.out.println(parentClassInstance.getName()); //parent
System.out.println(anonymousClassInstance.getName()); //anonymous
System.out.println(lambdaInstance.getName()); //lambda!
}