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);
}
}
내용이 유익하셨다면 구독 및 좋아요 클릭 부탁드려요 :)
오늘 하루도 즐거운 하루 보내세요!
'Language > Java' 카테고리의 다른 글
컴파일,링크, 빌드, 배포 개념 정리 / what is the Compile,Link,Build,Deploy? (0) | 2022.05.26 |
---|---|
[Java 무작정 따라하기] 11. JAVA 패키지 및 예외처리 알아보기 (0) | 2020.05.17 |
[Java 무작정 따라하기] 9. JAVA 제네릭, 자바 제네릭 클래스, 자바 제네릭 알아보기 (0) | 2020.05.11 |
[Java 무작정 따라하기] 8. Java 열거형 및 익명클래스 알아보기 (0) | 2020.04.28 |
[Java 무작정 따라하기] 7. java 오버로딩, 오버라이딩 및 다형성과 형변환 학습하기 (0) | 2020.04.27 |