Lambda

Haiseong Jeong·2022년 10월 22일
1
post-thumbnail

Lambda

람다식은 익명함수(anonymous function)로 구동된다. 람다식은 마치 함수처럼 작성하지만, 실행시 익명구현 객체를 생성하는 방식으로 구동된다. 람다식을 쓰면 쓰지 않을 때보다 코드가 간결해진다.

함수적 인터페이스

함수적 인터페이스(functional interface)는 추상메서드가 1개만 정의된 인터페이스이다. 람다식은 함수적 인터페이스에 사용할 수 있다. 람다식을 실행하면 인터페이스를 구현하는 객체가 생성된다. 람다식은 이름을 따로 지정하지 않으므로 익명구현객체가 생성된다.

인터페이스에는 추상메서드가 있고, 이를 구현해야 메서드로써 사용할 수 있다. 메서드가 1개라면 당연히 해당 메서드가 구현하려는 메서드일 것이다. 하지만 메서드가 여러개라면 람다식으로 표현했을때 어떤 메서드를 실행해야 하는지 컴파일러가 알 수 없을 것이다.

사용

Eatable eatable = new Eatable(){
	public void eat(){
    	System.out.println("eating!");
    }
}
Eatable eatable = () -> {
	System.out.println("eating!");
};

Eatable 인터페이스가 추상메서드 하나만 있는 인터페이스라면 이렇게 람다식으로 바꿔 사용할 수 있다.

profile
나는 개발자다. 5000만큼 코딩한다.

0개의 댓글