[swift] 타입 캐스팅(Type Casting)
타입 캐스팅은 Swift에서 인스턴스의 타입을 확인하거나 다른 타입으로 캐스팅하는 방법입니다. 이는 클래스의 인스턴스를 부모 클래스 혹은 자식 클래스로 캐스팅하거나 프로토콜로 인스턴스를 캐스팅할 때 사용됩니다.
인스턴스 타입 확인하기
is
키워드를 사용하여 인스턴스의 타입을 확인할 수 있습니다.
if someInstance is SomeClass {
print("someInstance는 SomeClass의 인스턴스입니다.")
} else if someInstance is SomeProtocol {
print("someInstance는 SomeProtocol을 준수하는 인스턴스입니다.")
}
다운캐스팅(Downcasting)
다운캐스팅은 부모 클래스 타입이나 프로토콜 타입을 자식 클래스 타입으로 캐스팅하는 것을 말합니다. 이를 위해서는 명시적으로 해당 타입으로 캐스팅을 해주어야 합니다.
if let downcastedInstance = parentInstance as? ChildClass {
print("다운캐스팅 성공")
}
업캐스팅(Upcasting)
업캐스팅은 자식 클래스 타입을 부모 클래스 타입으로 캐스팅하는 것을 말합니다. 이는 별도의 작업없이 자동으로 처리됩니다.
let parentInstance: ParentClass = ChildClass()
타입 캐스팅은 Swift에서 다양한 타입 간에 유연한 변환을 가능케 하며, 안전한 다운캐스팅을 통해 런타임 오류를 방지할 수 있습니다.
내용이 도움이 되셨다면 여기서 추가 자료를 확인하세요.