Swift는 함수형 프로그램 패러다임을 채용한 언어답게 불변객체에 대하여 중요시한다.
참고) 상수와 변수의 뜻을 알고가자
상수란 - 값이 변하지 않고 고정된 수나 이를 지칭하는 문자
변수란 - 값이 특정지지 않아 임의의 값을 가질수 있는 문자
1. 상수와 변수 선언
주의) 띄어쓰기로 인하여 컴파일이 안될경우가 종종 있기때문에 띄어쓰기를 생활화하자!
1)상수 선언 키워드 - let
상수 선언
let 이름: 타입 = 값
- 타입의 값이 명확하다면 생략가능
let 이름 = 값
2)변수 선언 키워드 - var
변수 선언
var 이름: 타입 = 값
- 타입의 값이 명확하다면 생략가능
var 이름 = 값
code로 보기
let constant : String = "차후에 변경이 불가능한 상수 let"
var variable: String = "차후에 변경이 가능한 변수var"
variable = "변수는 이렇게 차후에 변경할 수 있지만"
constant = " 상수는 차후에 값을 변경할 수 없다" // 오류발생 - constant를 상수 let로 선언했기 때문 변수 선언인 var로 바꾸면 가능
// 상수 선언 후에 나중에 값 할당하기
// 나중에 할당하려고 하는 상수나 변수는 꼭 타입을 명시해야한다.
let sum : Int
let inputA: Int = 100
let inputB: Int = 200
//선언 후 첫 할당
sum = inputA + inputB
sum = 1 // 오류발생 - sum에 다시 상수를 할당하면 오류가 나게 됨
//변수도 당연히 차후에 값 할당하는게 가능
var nickName : String
nickName = "개발자유망주"
// nickName의 값을 변경
nickName = "스린이"
생각해보기
내 생각
1. name 은 사용자가 변경이 필요하다고 가정하면 변수 var
사용자가 변경되지 않는다고 가정하면 상수 let 을 사용할 것 같다 .
2. numberToAdd는 어떤 내용인지 모르겠는데
유추해보면 어떤 값에 더하는 값인것 같아 상수 let이 맞는 것같다.
3. pi는 원주율 정해져 있는 값이여서 상수 let을 쓰는게 맞는것 같다.
4. maxItemCount는 최대로 셀수 있는 값이 1000이다. 최대치가 정해진것이기 떄문에 let이 맞는것 같다.
결론.
-let 과 var는 개발자 입장에 따라 다르기 때문에 확실한 답은 없다고 한다.
-let name 처럼 이름같은거는 변하지 않기 때문에 let
-var alias 처럼 별명같은거는 변할 수 있기 때문에 var 정도라고 알아두자.
-let으로 선언하고 추후에 fix로 var로 바꿀수도 있다.
출처- https://www.boostcourse.org/mo122/lecture/11127/?isDesc=false
'Swift랑 친해지기 > Swift문법정리' 카테고리의 다른 글
07. 함수기본 (0) | 2021.12.02 |
---|---|
컬렉션 타입 (0) | 2021.12.01 |
05. Any, AnyObject, nil (0) | 2021.12.01 |
기본 데이터 타입 (0) | 2021.11.30 |
명명법/콘솔로그/문자열 보간법 (0) | 2021.09.14 |