공부/SWIFT

[SWIFT] 데이터 타입 특징(타입안심, 타입추론, 타입별칭)

알로하리미 2021. 3. 9. 12:20
728x90

데이터 타입 안심 

서로 다른 타입끼리의 데이터 교환은 꼭 형변환(타입캐스팅)을 거쳐야합니다.

스위프트에서 값 타입의 데이터 교환은 타입캐스팅이 아닌 새로운 인스턴스를 생성하여 할당 한다고 보면됩니다.

스위프트는 데이터 타입에대하여 엄격합니다.

그만큼 타입을 안심하고 사용 할 수 있다는 말이기도 합니다.

스위프트는 컴파일시 타입을 확인합니다.

예를 들어 Int타입에 String 타입의 값을 넣으면 컴파일시 오류가 납니다.

 

 

타입 추론

스위프트에서는 변수나 상수를 선언할 때 특정 타입을 명시하지 않아도 컴파일러가 할당된 값을 기준으로 변수나 상수의 타입을 결정합니다.

let greeting = "Welcome!" //컴파일시 Stirng타입으로 추론
let number = 3 //컴파일시 Int타입으로 추론

number = "welcome2" //Int타입에 String 타입 할당시 오류

 

 

타입 별칭

사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른이름(별칭)을 부여 할 수 있습니다.

typealias MyInt = Int
typealias MyInt2 = Int
let age: MyInt = 10
let age2: MyInt2 = 20
age = age2 //둘다 원본형은 Int형이기 때문에 오류 나지 않는다.
print(age) //20