Type Safety(타입안전성)
스위프트는 type-safe language입니다.
간단하게 말씀드리자면, String타입의 변수에는 String타입만 저장이 가능하다는 말입니다.
var three:Int = 3.0 //Int타입 변수에 다른 타입할당 불가
컴파일러는 아래와 같은 에러를 출력
error: cannot convert value of type 'Double' to specified type 'Int'
다른언어에서는 Int타입 변수에 Float타입의 값으로 초기화 할 경우, 나머지 값이 잘려서 들어가게 되는 경우가 있습니
다. 스위프트는 애초에 허용하지 않습니다.
Type Inference(타입추론)
var one = 1 //스위프트는 초기화될 오른쪽의 1의 값을 보고 one의 타입을 추론하게 됩니다. 우측값이 Int타입의 값이니 one의 타입은 Int로 추론하게 되는 것입니다.