🌱 오늘의 주제 : 람다식
🌱 람다식
- 람다식은 메서드를 하나의 식으로 표현한 것이다.
- 메서드의 이름과 반환값이 없어진다.
- 클래스 혹은 객체를 생성할 필요 없이, 오직 람다식 자체만으로 메서드의 역할을 대신할 수 있다.
- 람다식은 메서드의 매개변수로 전달되어지는 것이 가능하고, 메서드의 결과로 반환도 될 수 있다.
- 메서드를 변수처럼 다루는 것이 가능해진 것이다.
<람다식>
Arrays.setAll(arr, (i) -> (int)(Math.random() * 5) + 1);
<일반 메서드>
int method(i) {
return (int)(Math.random() * 5 ) + 1;
🌱 람다식 작성하기
🌱 람다식은 익명 함수? 익명 객체!
- 람다식은 익명 클래스의 객체와 동일하다.
🌱 함수형 인터페이스 (Functional Interface)
- 람다식을 다루기 위한 인터페이스를 함수형 인터페이스라고 부른다.
- 함수형 인터페이스에는 오직 하나의 추상 메서드만 정의되어 있어야 한다.
🌱 함수형 인터페이스 타입의 매개변수, 반환 타입
- 참조변수 없이 직접 람다식을 매개변수로 지정하는 것도 가능하다.
- 메서드의 반환타입이 함수형 인터페이스타입이라면, 이 함수형 인터페이스의 추상메서드와 동등한 람다식을 가리키는 참조변수를 반환하거나 람다식을 직접 반환 할 수 있다.
'Java' 카테고리의 다른 글
Java - Optional<T> (0) | 2023.04.03 |
---|---|
Java - 스트림의 특징과 스트림의 중간연산 (0) | 2023.03.30 |
Java - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); (0) | 2023.03.23 |
Java - 쓰레드의 동기화 & wait()과 notify() (0) | 2023.03.23 |
Java - 쓰레드의 상태 (0) | 2023.03.23 |