인터페이스 변수 = 람다식; |
위 실행문은 람다식이 인터페이스에 대입되는 구조이다.
이구조가 앞에서 배운 익명 구현 객체를 생성하는 것이 된다.
인터페이스는 직접 객체를 생성 할 수 없고 구현 클래스로만 객체를 생성할 수 있는데
이 람다식이 바로 구현 클래스의 객체를 생성하는 역할을 하는 것이다.
익명 구현 객체와 같은 개념이라고 생각하면 이해가 쉽다.
자바의 모든 인터페이스를 람다식을 이용해서 객체를 생성할 수 있는건 아니다
인터페이스 중 단 하나의 추상 메서드만 가지고있는 인터페이스만 람다식식으로 객체를 생성 할수있다.
만약 인터페이스에 메서드가 2개 이상이라면 람다식 표현을 사용할 수 없게 된다.
이러한 인터페이스를 함수적 인터페이스 (Functional Interface) 라고 부른다.
interface IneterFaceEX{
void print();
}
public class lamdaEx {
public static void main(String[] args) {
IneterFaceEX ex = () ->{
String str = "메서드 출력";
System.out.println(str);
};
ex.print();
}
}
출력 결과는 : 메서드 출력이 출력된다.
반응형
'JAVA' 카테고리의 다른 글
JAVA 파일 스트림 (0) | 2024.05.02 |
---|---|
비동기 처리와 Axios (1) | 2024.05.02 |
Ajex와 REST (0) | 2024.04.30 |
JAVA entity(엔티티) (0) | 2024.04.29 |
JAVA 람다식 (0) | 2024.04.28 |
댓글