Swift - 변수의 생명 주기
Swift - 변수의 생명 주기
변수의 생명 주기란
- 말 그대로 변수가 메모리에 살아있는 주기를 의미함.
- 변수는 크게 지역(Local) 변수와 전역(Global) 변수로 나뉨.
- 지역 변수: 특정 구문 내에서 선언된 변수로, 해당 구문이 끝나면 변수도 사라짐.
- 전역 변수: 이름 그대로 전역적으로 선언된 변수로, 일반적으로는 프로그램이 종료되기 전까지 살아있으며 어디서든 접근 가능.
- 스코프: 변수의 생존 영역을 의미함.
예시
1
2
3
4
5
6
7
8
9
10
11
do{
// 상위 블록
var ex1 = 0
do{
// 하위 블록
ex1 = 10
}
print(ex1)
}
결과
1
10
위 예시처럼 상위 블록에서 선언된 변수는 하위 블록에서 접근 가능함.
예시
1
2
3
4
5
6
7
8
9
10
11
do{
// 상위 블록
do{
// 하위 블록
var ex = 10
print(ex)
}
ex = 20
print(ex)
}
결과
1
2
3
4
5
6
7
error: MyPlayground.playground:7:3: cannot find 'ex' in scope
ex = 20
^~
error: MyPlayground.playground:8:9: cannot find 'ex' in scope
print(ex)
^~
반면 위 예시는 오류가 발생하는 것을 확인할 수 있는데, 하위 블록에서 선언된 변수는 하위 블록이 종료되는 시점에서 사라지기 때문에 상위 블록에서는 접근이 불가능함.
This post is licensed under CC BY 4.0 by the author.