본문 바로가기

TIL

2022/02/11 TIL

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