변수와 상수의 정의
상수 : 한 번 저장된 값을 변경할 수 없음
변수 : 저장된 값을 필요에 따라 얼마든지 다른 값으로 변경할 수 있음
// 변수선언
var + 변수명
var year = 2022 // 정수형 변수
var month = "January" // 문자열 변수
// 상수 선언
let + 상수명
let birthYear = 1997 // 정수형 상수
let welcomeMsg = "어서오세요" // 문자열 상수
스위프트에서 변수의 경우 선언과 초기화를 분리할 수 있다.
하지만 상수의 경우 선언과 초기화가 동시에 이루어져야 한다. (예외 존재)
// 선언과 초기화 분리
var year: Int // 변수선언
year = 2022
// :Int 는 타입 어노테이션이라는 문법으로 선언과 초기화를 분리해서 나타낼 때 표시해줘야한다.
변수의 경우 값을 변경해도 오류가 발생하지 않지만 상수의 경우 값을 변경하면 오류가 발생한다.
// 변수의 값 변경
var vValue = 15
vValue = 7 // ( O )
// 상수의 값 변경
let constantValue = 20
constantValue = 12 // ( X ) 상수는 한 번 정의하면 변경불가
변수의 값이 바뀌는 것은 같은 타입일 경우에만 가능하다.
// 변수의 선언 및 초기화
var iValue = 2 // Int 타입으로 초기화
var sValue = "Hello" // String 타입으로 초기화
// 값 변경
iValue = "안녕" // Int 타입 String 타입으로 변경 >> ( X )
sValue = 20 // String 타입 Int 타입으로 변경 >> ( X )
변수와 상수의 이름 정의
스위프트에서 변수와 상수의 이름은 정하는데 자유도가 매우 높은편이다. 다음과 같은 규칙을 가지고 있다.
- 알파벳과 한글 자음 및 모음, 아라비아 숫자를 사용할 수 있고 특수 기호와 한자, 이미지용 바이너리 코드까지 사용 가능하다.
- 연산자와 혼동할 수 있는 +, -, *, / 와 공백은 변수, 상수명에 사용할 수 없다.
- 스위프트에서 예약어나 키워드로 등록되어있는 단어는 변수나 상수명에 사용할 수 없다. 단, 대소문자를 바꾸어 사용하는 것은 가능하다. (스위프트는 대문자와 소문자를 구분하기 때문)
- 변수, 상수명의 첫 번째 자리에 숫자가 올 수 없다.
1번 같은 경우 확실히 스위프트가 다른 언어들과 비교해 자유도가 높은 편이다. 한글, 한자 뿐만 아니라 바이너리(😂,😭,😊 같은)까지 변수의 이름으로 사용이 가능하기 때문이다. 하지만 가독성만 떨어질뿐이고 변수나 상수명은 역시 영어로 정의하는 것이 바람직해 보인다.
출처 : 꼼꼼한 재은씨의 Swift 문법편
'Swift > 문법' 카테고리의 다른 글
스위프트(Swift) - 멀티 라인 스트링 (0) | 2022.04.25 |
---|---|
스위프트(Swift) - 타입이 다른 변수끼리의 결합, 문자열 템플릿 (0) | 2022.04.23 |
스위프트(Swift) - 타입 추론과 타입 어노테이션 (0) | 2022.04.21 |
스위프트(Swift) - 기본 자료형 (0) | 2022.04.20 |
스위프트(Swift) 공부하기 (0) | 2022.04.19 |