[Java 무작정 따라하기] 10. Java 람다식, 자바 람다식에 대해 알아보자

 Java 무작정 따라하기 

10. Java 람다식, 자바 람다식에 대해 알아보기

 

  • 자바 람다식이란 무엇인지 알아보자.

 

1. Java 람다식

 

  • 인터페이스를 구현하는 익명 클래스의 객체 생성 부분을 수식화 한 식을 람다식이라고 한다.
  • 구현할 것이 1개의 추상 메소드일 때 간단히 표현할 수 있다.
Runnable runnable = new Runnable(){
	public void run() {}
}
  • 람다식 구문
    • 메소드 매개변수의 괄호,화살표,메소드 몸체로 표현 한다.
    • 인터페이스 객체변수 = (매개변수목록) -> {실행}

Runnable runnable = () -> {} ;
  • 람다식 기본 문법
    • 익명 구현 클래스의 객체 생성 부분을 람다식으로 표현한다.
      • 익명 서브 클래스의 객체 생성은 람다식이 될수 없다.
    • 인터페이스에는 추상 메소드가 1개만 있어야 한다.
      • 2개이상의 추상메소드를 포함하는 인터페이스는 람다식 사용이 불가하다.
    • 람다식 결과의 타입을 타깃 타입이라고 한다.
    • 메소드가 1개뿐이므로 메소드 이름을 생략할 수 있다.
    • 매개변수 목록에서 자료형은 인터페이스 정의에서 알수 있기 때문에 변수이름만 사용 가능하다.
    • 매개변수가 1개면 매개변수 목록 괄호를 생략 가능하며 변수 이름 하나만 남는다.
    • 매개변수가 없다면 괄호만 남는다.
    • 실행문이 1개라면 중괄호 생략 가능.
    • 실행문이 return 뿐이라면 return과 중괄호를 동시 생략 가능하다.

 

2. 람다식 사용 예

package test;

interface MyInter1 { public void method(int a , int b);}
interface MyInter2 { public void method(int a );}

public class LambdaTest {

	public static void main(String[] args) {
		MyInter1 f1,f2,f3;
		MyInter2 f4,f5;
		
		f1 = (int a,int b) -> { System.out.println(a+b);};
		f1.method(3, 4);
		
		// 자료형 없앰
		f2 = (a,b)->{System.out.println(a+b);};
		f2.method(5, 6);
		
		// 자료형,중괄호까지 없앰
		f3 = (a,b)->System.out.println(a+b);
		f3.method(7, 8);
	}

}

 

 

내용이 유익하셨다면 구독 및 좋아요 클릭 부탁드려요 :)

오늘 하루도 즐거운 하루 보내세요!