[swift] 클래스의 타입 캐스팅(Type Casting) 개념

클래스의 타입 캐스팅은 스위프트에서 중요한 주제 중 하나입니다. 타입 캐스팅은 클래스의 인스턴스다른 클래스의 인스턴스 타입으로 캐스팅하는 기능을 말합니다.

타입 캐스팅의 종류

  1. Upcasting
  2. Downcasting

Upcasting

업캐스팅은 하위 클래스의 인스턴스상위 클래스의 인스턴스 타입으로 캐스팅하는 것을 말합니다.

class Animal {}
class Dog: Animal {}

let animal: Animal = Dog()

Downcasting

다운캐스팅은 상위 클래스의 인스턴스하위 클래스의 인스턴스 타입으로 캐스팅하는 것을 말합니다. 다운캐스팅은 두 가지의 형태로 구현됩니다.

class Animal {}
class Dog: Animal {}

let animal = Dog()
if let dog = animal as? Dog {
    // 다운캐스팅에 성공한 경우
} else {
    // 다운캐스팅에 실패한 경우
}

타입 캐스팅은 스위프트에서 유용하고 중요한 개념이므로 잘 이해하고 활용할 수 있어야 합니다.

Swift 공식 문서 - Type Casting