1. Scope

프로그램이에서 제일 중요한 생각이 바로 Scope 이다.

Scope 는 변수에 접근할 수 있고, 참고할 수 있는 위치를 정의한다.

일부 변수는 프로그램 내 어디에서나 접근할 수 있지만, 특정 변수들은 특정 문맥에서만 접근할 수 있다.

예를 들어, scope는 당신의 창문으로부터 보이는 밤하늘의 모습과도 같다.

지구에 사는 누구든, 별들의 전 세계적인 장면을 볼 수 있다는 것이다.

한편, 도시에 사는 사람인 경우, 도시의 야경과 강들 또한 볼 수 있다. 도시에 사는 사람인 경우에만 볼 수 있는 '도시의 야경, 강' / 지구에 사는 모든 사람들이 볼 수 있는 '별'

이렇게 예시를 통해서 설명하려는 것이 바로 "scope" 이다.

(전역범위_global scope, 지역범위_local scope)

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/bdf72114-fa95-416c-ae77-8c658b765b49/Untitled.png

2. Blocks and Scope

Scope에 대해서 말하기 전에, 먼저 blocks를 알아야한다.

우리들은 if 조건문에서 부터 block을 사용하고 있었다.

코드의 구문들을 묶을 때 사용하는 { } 이 바로 block 이다.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/18b21ecd-9bac-49d8-90e0-6e71b82fd59f/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9e9638f5-01ab-4ce3-9c69-b2a3c248ae10/Untitled.png

: 함수의 body가 사실상 코드이 block. 블록문인 것이다. (모두, { } 으로 둘러져있다.)