자바/더 자바: Java 8
람다 표현식
Holy Moly
2022. 3. 26. 00:25
private void run() {
final int num = 10;
// 로컬 클래스
class LocalClass{
void printNum(){
System.out.println(num);
}
}
// 익명 클래스
Consumer<Integer> integerConsumer = new Consumer<Integer>() {
@Override
public void accept(Integer integer) {
System.out.println(num);
}
};
// 람다
IntConsumer printInt = (i) ->{
System.out.println(i);
};
}
private void run() {
// run() scope의 num
int num = 10;
// 로컬 클래스
class LocalClass{
void printNum(){
// 다른 scope이라 가르키는 num이 다름
int num = 11;
System.out.println(num);
}
}
// 익명 클래스
Consumer<Integer> integerConsumer = new Consumer<Integer>() {
@Override
public void accept(Integer num) {
// 다른 scope이라 가르키는 num이 다름
System.out.println(num);
}
};
// 람다
// 람다는 run()과 같은 scope이기 때문에 같은 이름의 변수인 num을 선언 불가
IntConsumer printInt = (i) ->{
System.out.println(i);
};
}