Swift 입문 | 값, 변수, 연산 | 변수, 정수 및 타입(유형)
변수는 미리 선언을 하고 사용한다. 선언하지 않고 사용하거나, 또는 이미 선언 한 변수를 다시 선언 할 때 오류가 발생한다. 변수의 선언은 다음과 같이 작성한다.
var 변수 = 값
var 변수:유형 = 값
이런 식으로 초기값이 되는 값을 대입하는 형태로 선언하는 것이 일반적이다. “처음에 값을 할당하지 않고 싶다"면 아래와 같이 작성할 수도 있다.
var 변수:유형
상수
변수는 일반적으로 값 변경이 가능하지만, “나중에 변경할 수 없도록 하고 싶다"면 상수를 사용할 수 있다. 이것은 다음과 같이 작성한다.
let 상수 = 값
let 상수:유형 = 값
상수는 기본적으로 선언과 값의 대입을 함께 작성한다. 선언 시에 할당된 값이 상수의 값이 되고 이후 변경할 수 없다.
변수 타입
보면 알 수 있듯이 변수(상수)를 선언할 때 변수 이름뿐만 아니라 타입(유형)을 지정할 수도 있다. 이것을 보고 “Swift 변수는 유형을 지정하지 않고 작성하는 방법과 지정하고 작성하는 방법이 있구나"라고 생각해서는 안 된다.
Swift 변수는 기본적으로 모든 타입이 정해져 있다. 변수를 만들 때, 반드시 타입을 지정하지 않으면 안된다. 그럼, 왜 “var 변수 = 값” 이와 같이 작성도 할 수 있는가? 라고 하면 대입하는 값에서 타입을 유추하여 설정하기 때문이다. (그래서 “var 변수"뿐이라면, 오류가 발생한다.)
Swift는 기본적으로 “정적 타이핑(static typing)“언어이다. 모든 변수는 최초에 반드시 타입을 지정하여 해당 타입의 값만 할당 할 수 있다.
타입의 종류
Swift는 많은 타입이 준비되어 있다. 주요 형태에 대해 여기서 정리해 두겠다.
정수
| 타입 | 설명 |
|---|---|
| Int | 일반적인 정수이다. 32bit 또는 64bit의 값이 된다. (실행하는 CPU에 따라 다르다.) |
| UInt | Int와 동일하지만, 이는 플러스, 마이너스 부호가 없다. (즉, 마이너스를 사용할 수 없다.) |
| Byte | 8bit 폭의 값이다. |
| Int8, Int16, Int32, Int64 | 값의 크기를 지정하고 변수를 사용하는 것과 같은 경우, 이것들을 이용하는 것이 알기 쉬울 것이다. 각 변수의 bit 수를 나타낸다. 부호없는 정수 UInt8~ 등도 갖추어져 있다. |
실수 (부동 소수점)
| 타입 | 설명 |
|---|---|
| Float | 32bit 폭의 부동 소수점 값이다. |
| Double | 64bit 폭의 부동 소수이다. |
| Float32, Float64, Float80, Float96 | 값의 크기를 지정하여 부동 소수점을 취급하고 싶은 경우에 사용한다. Double에서도 정밀도가 부족한 경우 96bit 폭까지 사용할 있다. |
텍스트
| 타입 | 설명 |
|---|---|
| String | 이것이 일반적인 텍스트이다. |
| Character | 1개의 문자 텍스트이다. |
부울
| 타입 | 설명 |
|---|---|
| Bool | 논리 값이다. (true, false) |
이것들은 이른바 기본형이라고도 할 수 있는 것으로, 이 외에도 Swift 값의 형태로 이용되는 것은 많이 있다. 배열이나 객체, “튜플(tuple)”, “옵셔널(optional)“이라는 값 등이 있다. 이것들은 기본형에 비해 조금 어렵기 때문에 별도로 설명한다.