The RED : Scope, Closure
Scope : 변수에 접근할 수 있는 범위
Lexical scope : 중첩 함수가 있을 때 내부 함수에서 외부 함수 변수에 접근할 수 있다.
Closure : lexcical scope를 포함하는 함수
예제)
@Test
void test_closure(){
Supplier<String> supplier = getStringSupplier();
assertThat(supplier.get()).isEqualTo("HelloWorld");
}
private Supplier<String> getStringSupplier() {
String hello = "Hello";
Supplier<String> supplier = () -> {
String world = "World";
return hello + world;
};
return supplier;
}
Javasciprt를 사용할 때 듣던 개념을 Java에서 듣게 되어 반가웠다.
stream을 사용하기전에 함수형 프로그래밍에 관련된 개념을 함께 학습하는 것도 중요하다는 생각이 들었다.
'TIL' 카테고리의 다른 글
2022/02/13 TIL (0) | 2022.02.14 |
---|---|
2022/02/12 TIL (0) | 2022.02.13 |
2022/02/10 TIL (0) | 2022.02.11 |
2022/02/09 TIL (0) | 2022.02.10 |
2022/02/08 TIL (0) | 2022.02.08 |