Jupyo's Daily Story
변수(Variable)와 상수(Constant) 본문
728x90
반응형
변수(Variable)와 상수(Constant)는 데이터를 저장하는 중요한 개념입니다. 이 둘은 코드에서 다루는 값들을 메모리에 저장하고, 그 값들을 필요할 때 참조하거나 변경할 수 있게 해줍니다. Swift에서는 변수와 상수를 각각 var 와 let 키워드를 사용해 선언합니다.
변수(var)
변수는 저장된 값을 변경할 수 있는 저장소입니다. 한 번 선언된 변수의 값을 이후에 다른 값으로 수정할 수 있습니다.
선언과 사용 예시
var message = "Hello, World!"
message = "Hellow, Swift!" // 값 변경 가능
- var 키워드로 변수를 선언하고, 이후 변수에 다른 값을 할당할 수 있습니다.
- 변수를 선언할 때 타입을 명시적으로 지정할 수도 있습니다.
var count: Int = 10
count = 20 // 값 변경 가능
특징
- 변경 가능성: 선언한 후 언제든지 값을 변경할 수 있습니다.
- 타입 추론: Swift는 변수에 할당된 값에 따라 자동으로 타입을 추론합니다. 명시적으로 타입을 지정하지 않으면, Swift는 처음 할당된 값의 타입을 기준으로 추론합니다.
예시
var age = 25 // Int로 추론됨
age = 26 // 값을 26으로 변경
상수(let)
상수는 한 번 값을 설정하면 그 값을 변경할 수 없는 저장소입니다. 즉, 상수는 선언할 때 값을 할당하고, 이후에는 해당 값을 수정할 수 없습니다.
선언과 사용 예시
let pi =3.14159
pi = 3.14 // 오류 발생: 상수는 변경할 수 없음
- let 키워드로 상수를 선언하며, 상수는 반드시 한 번 초기화되어야 하고, 그 이후에는 값을 변경할 수 없습니다.
- 상수도 변수와 마차가지로 타입을 명시적으로 지정할 수 있습니다.
특징
- 변경 불가능성: 상수는 한 번 값을 설정하면 수정할 수 없습니다. 코드에서 변하지 않는 값을 사용할 때 유용합니다.
- 타입 추론: 상수도 변수처럼 초기 값에 따라 타입이 자동으로 추론됩니다. 물론 명시적으로 타입을 지정할 수도 있습니다.
예시
let yearOfBirth = 1990 // Int로 추론됨
yearOfBirth = 1991 // 오류 발생: 상수는 변경할 수 없음
변수와 상수의 차이점
특징 | 변수(var) | 상수(let) |
값 변경 | 가능 | 불가능 |
선언 시 초기화 | 초기화를 하지 않아도 됨 | 반드시 선언 시 초기화 필요 |
용도 | 값이 변할 가능성이 있는 경우 사용 | 변하지 않는 값을 사용할 때 사용 |
변수와 상수 사용 시기
- 변수(var): 값이 프로그램의 흐름에 따라 바뀔 수 있는 경우, 예를 들어 사용자의 입력 값, 반복문에서의 값 변경 등이 있을 때 사용합니다.
- 상수(let): 변하지 않는 값, 예를 들어 원주율(pi)나 변하지 않는 설정 값, 프로그램에서 고정된 데이터 등을 처리할 때 상수를 사용합니다.
타입 명시와 타입 추론
Swift는 타입 추론을 사용하여 값을 선언할 때 명시적인 타입을 지정하지 않아도, 할당된 값을 통해 변수나 상수의 타입을 자동으로 결정합니다. 하지만, 필요에 따라 명시적으로 타입을 지정할 수도 있습니다.
타입 추론
var city = "Seoul" // String으로 추론
타입 명시
let population: Int = 1000000
지연 초기화(lazy)
상수는 선언 시 반드시 초기화되어야 하지만, 변수는 지연 초기화(lazy)를 통해 나중에 값을 설정할 수 있습니다. lazy var로 선언된 변수는 처음으로 접근할 때 값을 초기화합니다.
class LazyExample {
lazy var data: String = "Loaded data" // 접근 시 초기화됨
}
let example = LazyExample() // data에 처음 접근하기 전에는 초기화되지 않음
print(example.data) // 이 시점에 값이 설정됨
결론
- 변수(var)는 값이 변경될 수 있는 데이터를 저장할 때 사용합니다.
- 상수(let)는 변하지 않는 데이터를 저장할 때 사용합니다.
- Swift에서는 변수와 상수를 적절히 사용해 코드의 가독성을 높이고, 불변성을 보장할 수 있습니다. 불필요한 값 변경을 방지하고자 할 때는 항상 상수를 사용하는 것이 좋습니다.
반응형
'Swift' 카테고리의 다른 글
옵셔널 (Optional) (2) | 2024.09.22 |
---|---|
열거형 (Enumeration) (0) | 2024.09.19 |
이진수(binary number) (0) | 2024.09.05 |
백그라운드 Playback (0) | 2024.02.20 |
lazy (2) | 2022.11.24 |