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);
}
}