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)“라는 값등이 있다. 이것들은 기본형에 비해 조금 어려운 때문에 별도로 설명한다.