Swift는 데이터 타입이 안전한(type safe) 프로그래밍 언어에 속한다.
변수의 데이터 타입이 한번 정해지면 그 변수는 다른 타입의 데이터를 저장하는 데 사용 될 수 없다.(컴파일 에러 발생)
반대로 데이터 타입이 느슨한(loosely typed) 프로그래밍 언어는 변수를 선언한 후에 다른 데이터 타입을 저장할 수 있는 언어다.
상수나 변수의 타입을 지정하는 방법은 타입 선언(Type annotation)과 타입 추론(Type inference)이 있다.
변수나 상수 이름 뒤에 콜론을 쓰고 타입을 선언하는 것
let age: Int = 13
Swift의 기본 제공 타입 또는 우리가 임의로 만든 데이터 타입으로 이미 존재하는 타입에 임의로 다른 이름(별칭)을 부여함
typealias Age = Int
let age: Age = 13
let militeryService: Int = 2
let afterMiliteryService: Age = age + militeryService
선언부에서 타입 선언이 없다면 Swift 컴파일러는 타입 추론이라는 기술을 사용하여 변수 또는 상수의 타입을 지정한다.
컴파일러가 타입 추론을 사용하게 되면 변수 또는 상수가 초기화되는 시점에 할당된 값의 타입이 무엇인지를 판단하여 해당 타입으로 지정한다.
let age: Int = 13
var signalStrength: Float = 2.231
let companyName: String = "My Company"
let age = 13
var signalStrength = 2.231
let companyName = "My Company"
타입 선언 없이 상수를 선언하게 될 경우에는 반드시 선언 지점에서 값을 할당해야 한다.
하지만 상수를 선언할 때 타입 선언을 사용하면 코드 내에서 나중에 할당할 수 있다.
let greetMessage = "Hello SwiftUI" // o
var myName // x
var geustName: String // o
geustName = "Ned" // o