[swift] 타입 캐스팅을 통한 타입 변환 연산

타입 캐스팅은 Swift에서 인스턴스의 타입을 확인하거나 해당 타입으로 변환하는 과정을 말합니다. 이 기능을 사용하면 코드 안전성을 유지하면서 인스턴스의 타입을 다룰 수 있습니다.

1. as 연산자를 통한 타입 변환

Swift에서는 as 키워드를 사용하여 인스턴스의 타입을 다른 타입으로 변환할 수 있습니다. 이 연산자는 서브클래스를 슈퍼클래스로 변환하거나 프로토콜을 준수하는 타입으로 변환하는 데 사용됩니다.

class Vehicle {
    var name: String = ""
}

class Car: Vehicle {
    var brand: String = ""
}

let vehicle = Vehicle()
let car = Car()

let vehicleToCar = vehicle as? Car

위의 예제에서 vehicle 인스턴스를 Car 타입으로 변환하기 위해 as? 키워드를 사용하였습니다. 이를 통해 안전하게 타입을 변환하고, 변환이 실패할 경우 nil을 반환합니다.

2. is 연산자를 통한 타입 확인

타입 캐스팅을 하기 전에 어떤 타입인지 확인하고 싶을 때 is 연산자를 사용할 수 있습니다.

if vehicle is Car {
    print("vehicle은 Car 타입입니다.")
} else {
    print("vehicle은 Car 타입이 아닙니다.")
}

위의 예제에서 is 연산자를 통해 vehicleCar 타입인지 확인하고 그에 따른 동작을 수행할 수 있습니다.

타입 캐스팅을 통한 타입 변환 및 확인을 사용하여 Swift 언어의 강력한 타입 시스템을 활용할 수 있습니다.

참고 자료