
Swift에서 상수와 변수는 둘 다 값을 메모리에 저장할 수 있는 공간을 의미한다. 둘의 가장 큰 차이점은 상수는 변하지 않는 일정한 값이지만 변수는 가변의 특성을 가진 값이라는 점이다.
let 상수명 : 데이터 타입 = 값
상수를 선언할 때는 위의 표기처럼 let 을 앞에 선언한다. 상수를 선언할 때는 데이터 타입은 생략할 수도 있다. 데이터 타입을 생략하면 컴파일러가 변숫값의 타입을 추론하여 타입을 지정한다. 그러나 잘못된 타입 추론으로 인해 오류가 발생하면 오류를 찾는데 상당한 시간이 걸릴 수 있어 타입 지정(Type Annotation)을 해주는 편이 시간을 절약할 수 있는 방법이다. 또한 컴파일러가 타입을 추론할 때 시간이 소모되기 때문에 단순하게 타입을 생략할 수 있다 정도반 알아두자. 이렇게 선언된 값은 고정되어 변하지 않는 값을 표현할 때 쓰인다.(전체 용량, 고정된 값 표현)
상수를 사용하는 가장 중요한 이유로 가독성을 꼽을 수 있다. 상수로 값을 선언시, 불변의 특성을 가지기 때문에 주석이나 API 문서 등을 참고하지 않아도 직관적으로 상수 값을 알 수 있으며 값의 변경에 대해 신경쓰지 않아도 된다.
var 변수명 : 데이터 타입 = 값
변수를 선언할 때는 위의 표기처럼 var 을 앞에 선언한다. 변수를 선언할 때도 상수처럼 데이터 타입 생략이 가능하다. 이렇게 선언된 값은 계속해서 변하는 값을 표현할 때 쓰인다.(사용량, 소모값 등)