반응형
안녕하세요 공공돌🧸 입니다.
상수와 변수에 대해 정리해봤습니다.
1. 상수와 변수 선언
- let : 상수 선언 키워드
- var : 변수 선언 키워드
// 상수와 변수 선언
let 상수이름: 타입 = 값
var 변수이름: 타입 = 값
// 값의 타입이 명확하다면 타입 생략 가능
let 상수이름 = 값
var 변수이름 = 값
// 상수와 변수 활용
let constant: String = "차후에 변경이 불가능한 상수 let"
var variable: String = "차후에 변경이 가능한 변수 var"
variable = "변수는 이렇게 차후에 다른 값을 할당할 수 있지만"
// constant = "상수는 차후에 값을 변경할 수 없습니다" // 오류발생
2. 상수 선언 후, 값 할당하기
- 선언을 한 뒤, 나중에 값을 할당하려는 상수나 변수는 반드시 타입을 명시해야 합니다.
let sum: Int
let inputA: Int = 100
let inputB: Int = 200
// 선언 후 첫 할당
sum = inputA + inputB
// sum = 1 // 그 이후에는 다시 값을 바꿀 수 없습니다, 오류발생
// 변수도 물론 차후에 할당하는 것이 가능합니다
var nickName: String
nickName = "ggDol"
// 변수는 차후에 다시 다른 값을 할당해도 문제가 없지요
nickName = "공공돌"
3. 생각해보기
▶ 다음과 같은 경우에 각 값은 상수와 변수 중 어느 것으로 선언하는 것이 더 좋을지 생각해 봅시다.
OOO name = "ggDol"
OOO numberToAdd = 5
OOO pi = 3.14159
OOO maxItemCount = 1000
공공돌의 생각 💬
상수란 변하지 않는, 절대적인 값을 가지고 변수란 변할 수 있는 수라고 할 수 있습니다.
위 예시를 변수 명으로만 판단해 보면 파이(pi) 같은 경우 불변의 값이기 때문에 상수 let이 적절하다고 판단됩니다.
numberToAdd의 경우 덧셈에 사용될 값이기 때문에 값이 변동될 가능성이 있습니다. 그렇기에 변수 var로 지정해 줘야 합니다.
maxItemCount의 경우 가변과 불변이 모두 가능하다고 생각이 듭니다. 단순히 아이템의 최대 개수일 경우 아이템이 1000개가 넘어갈 시 maxItemCount를 변경해 줘야 하기 때문에 변수 var로 지정해야되고, 특정 아이템의 리미트를 지정해 카운팅 하는 상황일 경우 상수 let이 적절하다고 생각합니다.
name의 경우 구조체나 클래스의 객체의 이름으로 활용될 경우 상수가 적절하고, name이라는 변수를 통해 사용자로 부터 이름을 입력 받아들인다면 변수로 선언하는 것이 적절하다고 생각합니다.
공부하는 공돌이, 공공돌입니다🐻
@sheep1sik
출처 : 야곰 iOS 프로그래밍을 위한 스위프트 기초
반응형
'iOS > Swift 기초' 카테고리의 다른 글
[ Swift 기초 ] 함수 기본 (2) | 2024.01.03 |
---|---|
[ Swift 기초 ] 컬렉션 타입(Array, Dictionary, Set) (1) | 2024.01.02 |
[ Swift 기초 ] Any, AnyObject, nil (2) | 2024.01.02 |
[ Swift 기초 ] 기본 데이터 타입 (2) | 2024.01.02 |
[ Swift 기초 ] 명명법 / 콘솔로그 / 문자열 보간법 (1) | 2024.01.02 |