[swift] Swift에서 타입 변환 연산자의 타입 확인하기

Swift에서는 타입 변환 연산자를 사용하여 변수나 상수의 타입을 다른 타입으로 변환할 수 있습니다. 하지만 때로는 타입 변환을 수행하기 전에 해당 변수나 상수가 어떤 타입인지 확인해야 할 때가 있습니다. 이를 위해 Swift에서는 타입 확인 연산자를 제공하고 있습니다.

타입 확인 연산자는 is를 사용하여 특정 인스턴스의 타입을 확인할 수 있습니다. 이 연산자는 Bool 값을 반환하며, 주어진 인스턴스가 해당 타입이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

다음은 타입 확인 연산자를 사용하여 타입을 확인하는 예제 코드입니다.

class Animal {}
class Dog: Animal {}

let animal = Animal()
let dog = Dog()

if dog is Animal {
    print("dog is an Animal")
} else {
    print("dog is not an Animal")
}

if animal is Dog {
    print("animal is a Dog")
} else {
    print("animal is not a Dog")
}

위의 예제 코드에서 dogAnimal의 하위 클래스인 Dog의 인스턴스입니다. 따라서 dog is Animaltrue를 반환합니다. 반대로 animalAnimal 클래스의 인스턴스이지만 Dog 클래스의 인스턴스는 아니기 때문에 animal is Dogfalse를 반환합니다.

타입 확인 연산자를 사용하면 변수나 상수의 타입을 미리 확인할 수 있으므로, 타입 변환을 안전하게 수행할 수 있습니다.

참고: The Swift Programming Language - Type Casting