Variable과 Constant의 차이
Variable
변할 수 있는 값
Swift에서는 var이라는 키워드로 선언
추후에 타입이 같다면, 다시 선언하여 값(참조)의 변경이 가능
Constant
변할 수 없는 값
Swift에서는 let이라는 키워드로 선언
추후에 다시 선언하여 값(참조)의 변경이 불가능
let으로 선언한 변수를 변경하려는 경우 다음과 같이 오류가 발생한다.
변수, 상수를 선언하고 저장하는 방법
var 변수명: 데이터타입 = 값
//var abc : Int = 1200
let 변수명: 데이터타입 = 값
//let def : String = "Hello"
Swift는 "정적 타이핑 언어"이기 때문에 → 최초에 반드시 타입을 지정해야 함 → 해당 타입 값만 할당 가능
정적인 프로그래밍 언어
- 컴파일 시 변수, 상수의 타입을 결정하는 언어
하지만 코드 상으로는 타입을 지정해주지 않아도 된다.
컴파일러가 변수에 저장된 값을 보고 타입을 추론하게 만들 수도 있다.
var 변수명 = 값
// var abc = 1200
let 변수명 = 값
// let def = "Hello"
// abc는 Int타입, def는 String타입으로 컴파일러가 추론한다.
하지만 그다지 추천하지는 않는다.
컴파일러의 리소스를 더 사용하며, 코드의 명시성이 떨어지게 되기 때문이다.
이런 방법도 있다는 것만 알아두면 좋을 듯하다
var, let 구분은 왜 있나요?
당신이 만약 변수를 var로 선언하고, 그 뒤로 단 한 번도 값을 바꾸지 않는다면, 컴파일러는 let으로 바꿀지에 대해 물어본다. Swift는 기본적으로 상수를 선호하기 때문이다. 또한 변수가 많을수록 프로그램의 성능에 영향을 미칠 수 있기 때문이다.
또한 let으로 선언하는 것이 코드를 보는 입장에서 더욱 직관적이다. 이 값은 앞으로 바뀌지 않는다는 뜻이기 때문이다. 코드가 길어지고, 정신이 없어질 때 이 정도의 구분이 코드의 가독성을 조금이나마 높여줄 수 있기 때문이다.
'Swift' 카테고리의 다른 글
Swift 문법 노트 2편 - 기본 데이터 타입 총 정리 (0) | 2023.08.10 |
---|