[swift] 변수와 상수의 자료형 변환

Swift에서는 변수와 상수의 자료형을 다른 자료형으로 변환할 수 있습니다. 이러한 자료형 변환은 다양한 상황에서 유용하게 사용될 수 있습니다.

1. 자료형 변환의 종류

Swift에서는 변수와 상수의 자료형 변환을 위해 다음과 같은 방법을 제공합니다.

1) 암시적 자료형 변환 (Implicit Type Conversion)

암시적 자료형 변환은 작은 범위의 자료형에서 큰 범위의 자료형으로 자동으로 변환됩니다. 이는 값을 할당할 때 Swift 컴파일러가 자동으로 변환해주는 것을 의미합니다. 예를 들어, Int 타입의 변수에 Double 타입의 값을 할당하면, Swift는 자동으로 Double을 Int로 변환해줍니다.

var num: Int = 10
var doubleNum: Double = 3.14

num = Int(doubleNum) // Double 타입의 값을 Int 타입으로 변환

2) 명시적 자료형 변환 (Explicit Type Conversion)

명시적 자료형 변환은 개발자가 직접 자료형을 변환하는 것을 의미합니다. 이때, 변환하고자하는 자료형을 지정해주어야 합니다. 자료형을 변환하는 방법은 소괄호 안에 변환하고자 하는 자료형을 넣어주는 것입니다. 예를 들어, Double 타입의 값을 Int 타입으로 변환하려면 다음과 같이 작성할 수 있습니다.

var doubleNum: Double = 3.14
var num: Int = Int(doubleNum) // Double 타입의 값을 Int 타입으로 변환

2. 주의사항

자료형을 변환할 때에는 값의 범위에 유의해야 합니다. 예를 들어, Int 타입을 UInt8 타입으로 변환할 때, Int 타입의 값이 UInt8 타입의 표현 범위를 초과하면 오류가 발생합니다. 이런 경우, 안전한 변환을 위해 numericCast() 를 사용할 수 있습니다.

var largeNumber: Int = 300
var smallNumber: UInt8 = numericCast(largeNumber) // Int 타입의 값을 UInt8 타입으로 변환

3. 결론

Swift에서는 변수와 상수의 자료형 변환을 간편하게 할 수 있습니다. 암시적 자료형 변환을 통해 자동으로 변환해주거나, 명시적 자료형 변환을 통해 직접 변환할 수 있습니다. 하지만 자료형을 변환할 때 값의 범위에 유의하여 안전하게 변환하는 것이 중요합니다.

공식 Swift 문서 - Type Casting

[출처 - 자료형 변환 sck5719의 개발블로그](https://sck5719.tistory.com/30)