Scope (범위)
- 변수와 상수는 모두 자기만의 범위(Scope)를 가지고 있다.
- 자신이 속한 범위 내에서 항상 유일한 이름을 가져야 한다.
- 상위 Scope에서는 하위 Scope에 선언되어 있는 상수와 변수에 접근 할 수 없다.
- 서로 다른 범위에 동일한 이름이 있다면 가장 인접한 범위에 있는 이름을 사용한다.
- Brace { }로 Global과 Local을 구분한다.
- Gloabl Scope가 아닌 다른 모든 Scope는 시작과 끝이 명확해야 한다.
Global Scope (전역 범위)
- 어떠한 Brace { }에도 속하지 않음. 단 하나만 존재함.
- 동일한 범위에 있는 변수와 상수에 접근할 수 있음.
- 동일한 범위에서는 이전에 선언되어 있는 변수와 상수에만 접근할 수 있음.
- 선언 순서에 상관없이 접근할 수 있다.
Local Scope (지역 범위)
- Brace { } 내에 속함. 여러개가 존재할 수 있고 중첩 가능함.
- 상위 Scope나 Global Scope에 선언된 변수와 상수에 접근할 수 있다.
- 아직 선언되어 있지 않은 경우에는 접근 할 수 없다.
Declaration Scope (선언 범위)
- 선언만 가능하다.
- 선언만 가능하기 때문에, Local Scope로 분류하지 않는다.
- 예시로는 구조체를 들 수 있다. (struct)
예시를 보자.
// #1
var baechu = "cute parrot"
func parrots() {
// #2
if baeche = "cute parrot" {
// #3
}
// #4
}
// #5
#1번과 5번은 같은 범위.
Global Scope.
#2번과 4번도 같은 범위. 하지만 이번에는 Local Scope.
#3번도 Local Scope이지만, parrot이라는 함수 안에 들어있는 하위 Local Scope이다.
스페이스바나 백스페이스를 잘못눌러서 Scope의 구분을 알아보기 쉬운, 공백이 망가졌다면.
Command + A키를 누르고 Control + I 키를 누르면 졍렬이 가능하다.
'Language > Swift' 카테고리의 다른 글
Swift 기본 문법 - Ternary Operator (삼항연산자, 조건연산자) (0) | 2024.10.12 |
---|---|
Swift 기본 문법 - 기초 용어 (0) | 2024.10.09 |
Swift 기본 문법 - Functions (함수) (0) | 2024.09.29 |
Swift 기본 문법 - Initializer(초기화 메소드) (0) | 2024.09.22 |
Swift 기본 문법 - 타입 캐스팅(Type Casting) 작성중 (0) | 2024.09.20 |
살아남는 iOS 개발자가 되기 위해 끊임없이 노력하고 있습니다.