2. 글로벌 변수와 로컬 변수
- 크게 변수를 로컬변수(local variable)와 글로벌 변수(global variable)로 구분한다.
- 변수를 구분하는 이유는 "스코프(scope)" 때문이다.
- 로컬 변수는 함수 또는 오브젝트를 사용하려는 의도이며, 글로벌 변수는 프로그램 전체에서 공용으로 사용하려는 의도이다.
- 글로벌 변수에 대한 큰 오해가 있는데, 글로벌 오브젝트에 작성한 변수는 글로벌 오브젝트가 스코프이다.
- 글로벌 오브젝트에 작성했으므로 글로벌 변수라고 부르는 것이지, 글로벌 오브젝트에서 보면 로컬 변수이다.
- 글로벌 변수도 var 키워드를 사용하여 작성하는 것이 정확한 작성이다.
- 다만, var 키워드를 작성하지 않는다면, 글로벌 변수로 간주된다는 점에 의해 var 키워드를 사용하지 않는 것이다. (글로벌 변수는 var키워드를 사용하지 않는다는 것이 아니다.)
- 글로벌 변수가 편해보이지만, 객체지향 관점에서 보면 단점이다.(내가 사는 집의 물건을 아무나 사용하는 느낌)
- 함수 안에서 글로벌 오브젝트에 작성된 글로벌 변수를 사용할 수는 있지만, 다른 프로그램에서 값을 변경할 수 있다는 위험은 감수해야 한다.
댓글 영역