본문 바로가기
JAVA

함수적 인터페이스

by NetStats 2024. 4. 28.
인터페이스 변수 = 람다식;

 

위 실행문은 람다식이 인터페이스에 대입되는 구조이다.

이구조가 앞에서 배운 익명 구현 객체를 생성하는 것이 된다.

 

인터페이스는 직접 객체를 생성 할 수 없고 구현 클래스로만 객체를 생성할 수 있는데

이 람다식이 바로 구현 클래스의 객체를 생성하는 역할을 하는 것이다.

익명 구현 객체와 같은 개념이라고 생각하면 이해가 쉽다.

 

자바의 모든 인터페이스를 람다식을 이용해서 객체를 생성할 수 있는건 아니다

인터페이스 중 단 하나의 추상 메서드만 가지고있는 인터페이스만 람다식식으로 객체를 생성 할수있다.

 

만약 인터페이스에 메서드가 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

댓글