본문 바로가기
study/Java

[Java] 28. Lambda1 (람다의 정의)

by 금이패런츠 2022. 3. 23.
728x90
반응형
package chap10;
/*
 * 람다 예제 : jdk8 이후부터 사용
 *   람다에서 사용되는 인터페이스는 FunctionalInterface 여야함
 *   FunctionalInterface : 추상메서드가 한개만 존재하는 경우
 *   
 * 매개변수, 리턴타입이 없는 경우
 * () -> { ..... }  
 * 
 * 람다식 내부에 구현된 문장이 한개인 경우 {} 생략 가능
 */
@FunctionalInterface //@FunctionalInterface 여부 검증 어노테이션
interface LambdaInterface1 {
	void method();
//	void method2();
}
public class LambdaEx1 {
//	static int num = 100;
	public static void main(String[] args) {
		int num = 100;
//		num++;
		//익명의 내부 클래스. 지역내부클래스
		LambdaInterface1 fi = new LambdaInterface1() {
			@Override
			public void method() {
				System.out.println("기존방식으로 코딩 :num =" + num);
			}
		};
		fi.method();
		
		//람다방식코딩
		fi = ()->{
			System.out.println("람다방식으로 코딩 :num =" + num);
		};
		fi.method();
		
		fi = ()->
			System.out.println("람다방식으로 코딩 :num =" + num);
		
		fi.method();
	}
}

10장 람다식.pdf
0.75MB

728x90
반응형