본문 바로가기
book/modern java in action

Chapter 3 람다 표현식

by eunoia_DB 2022. 12. 23.

 

람다 표현식

- 익명 함수(이름이 필요 없는 함수)의 일종으로 동작 파라미터 형식의 코드를 간결하고 유연하게 구현할 수 있다.

- 람다식은 반환값으로 함수형 인터페이스를 반환한다.

 

 

함수형 인터페이스란?

- 오직 하나의 추상 메서드만 가지는 인터페이스

- 람다 표현식으로 함수형 인터페이스의 추상 메서드 구현을 직접 전달할 수 있다.

  (함수형 인터페이스를 기대하는 곳에서만 람다 표현식을 사용할 수 있다.)

 

 

함수형 인터페이스의 추상 메서드는 람다 표현식의 시그니처(메서드 명과 파라미터의 순서, 타입, 개수..)묘사하는데

이를 통해 람다 표현식의 정확한 반환 타입을 알 수 있다. 그러므로 람다 표현식을 잘 활용하기 위해서는 자바 API에서

제공하는 함수형 인터페이스의 추상 메서드 시그니처를 잘 알아야 한다.

 


 

아래는 함수형 인터페이스와 람다 표현식을 이용한 간단한 예시이다.

 

 

1. (반환값이 없는) 추상 메서드 run()을 가지는 함수형 인터페이스 Runnable

 

@FunctionalInterface
public interface Runnable {
	public abstract void run();
}

 

 

2. Runnable 인터페이스의 인스턴스를 인자로 받는 process 메서드

 

public static void process(Runnable runnable) {
    runnable.run();
}

 

 

3. 람다 표현식을 통한 함수형 인터페이스의 인스턴스 정의

 

Runnable runnable = () -> System.out.println("Hello World");

 

 

4. process 메서드에 값 전달

 

process(runnalbe);
process(() -> System.out.println("Hello World 1")); // 람다 표현식을 직접 전달도 가능하다.

// 출력 결과
// Hello World
// Hello World 1

 

 

 

 

 

 

 

 

 

 


Reference

 

참고 도서명: 모던 자바 인 액션

https://mangkyu.tistory.com/113

https://itkjspo56.tistory.com/m/289

댓글