![[JAVA] 41. 람다 표현식 - 기본](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255BJAVA%255D%252041.%2520%25EB%259E%258C%25EB%258B%25A4%2520%25ED%2591%259C%25ED%2598%2584%25EC%258B%259D%2520-%2520%25EA%25B8%25B0%25EB%25B3%25B8%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3Dsxias&w=2048&q=75)
람다 표현식 : 메서드(행위)를 간편히 전달하기 위해 사용하는 표현식
- 메서드를 전달하는 방법
- 클래스 생성 후 호출
- 익명 클래스 생성
- 람다 표현식
인터페이스를 통한 메서드 전달
오브젝트 간 통신에는 인수를 통한 값 전달이 원칙
- 행위만 전달할 수는 없음 : 클래스를 따로 선언 후 클래스 내의 행위를 호출
메서드 전달 방법
- 인터페이스 생성(정의)
- 행위를 전달받는 오브젝트(인스턴스) 구현
- 행위 전달
- 행위를 전달하는 방법
- 클래스 생성 후 implements > 클래스 내의 메서드 호출
- 익명 클래스 : (new 인터페이스() { ~~~~ });
- 람다 표현식 : ()→{};ㄴㅁ
package ex07.ch02;
// 행위(메서드) 전달 방법
// 1. 인터페이스 생성
interface Can1 {
void run();
}
// 2-1. 클래스 생성 (사용 X)
class 원숭이아이씨 implements Can1 {
public void run() {
System.out.println("원숭이가 달린다.");
}
}
public class Beh01 {
static void start(Can1 c) {
c.run();
}
public static void main(String[] args) {
// start(new 원숭이아이씨());
// 2-2. 익명 클래스 (사용 X)
// start(new Can1() {
// @Override
// public void run() {
// System.out.println("원숭이가 달린다.");
// }
//});
// 2-3. 람다 표현식 : 행위 전달용 표현식
// 인터페이스 내의 메서드가 1개일 때만 사용 가능
start(() -> {
System.out.println("달리자1");
});
start(() -> {
System.out.println("달리자2");
});
}
}

Share article