728x90
package section_1;
import java.util.function.*;
public class Foo {
public static void main(String[] args) {
Foo foo = new Foo();
foo.run();
}
private void run() {
int baseNumber = 10;
// 로컬 클래스 - 쉐도잉
class LocalClass {
void printBaseNumber() {
int baseNumber = 11;
System.out.println(baseNumber);
}
}
// 익명 클래스 - 쉐도잉
Consumer<Integer> integerConsumer = integer -> {
int baseNumber1 = 11;
System.out.println(baseNumber1);
};
// 람다 - 쉐도잉 x
Function<Integer, Integer> function = (i) -> {
// int baseNumber = 11; - 이미 선언되었다고 나옴
System.out.println(baseNumber);
return i;
};
}
}
- Java에서는 람다를 사용할 경우에, 같은 변수를 사용할 수 없음 (쉐도잉 x)
- 스콥이 결정적으로 람다를 사용한 스콥이랑 동일함
300x250
'Java' 카테고리의 다른 글
인터페이스 (0) | 2023.07.27 |
---|---|
메소드 레퍼런스 (0) | 2023.07.09 |
Java의 함수형 인터페이스 (0) | 2023.07.09 |
함수형 인터페이스와 람다 표현식 (0) | 2023.07.06 |
비즈니스 요구사항 설계 (0) | 2022.07.20 |