본문 바로가기

자바

람다

package main03;

import java.util.function.Consumer;
import java.util.function.IntConsumer;

public class Main {
	
	public static void main(String[] args) {
		
		Main m = new Main();
		m.run();
	}

	private void run() {
		int baseNum = 10;
		
		// 로컬 클래스
		class LocalClass {
			int baseNum = 11;
			void printBaseNum() {
				System.out.println(baseNum);	//11
			}
		}
		
		// 익명 클래스
		Consumer<Integer> integerConsumer = new Consumer<Integer>() {

			@Override
			public void accept(Integer baseNum) {
				System.out.println(baseNum);	// accept 파라미터의 baseNum
			}
			
		};
		
		// 람다
		IntConsumer printInt = (i) -> System.out.println(i + baseNum);	// 여기서 baseNum은 15줄의 baseNum. 마치 final 변수처럼
		
		printInt.accept(3);
	}
}

'자바' 카테고리의 다른 글

List의 중복제거, HashSet  (1) 2021.05.24
[자바] 재귀함수와 증감연산자  (0) 2021.05.15
자바에서 제공하는 함수형 인터페이스  (0) 2021.04.05
함수형 인터페이스  (0) 2021.04.05
빅오 표기법  (0) 2021.04.03