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

Swift는 강력한 타입 시스템을 가지고 있어서 변수나 상수의 타입을 쉽게 확인할 수 있습니다. 이를 위해 Swift에서는 타입 비교 연산자를 제공합니다. 타입 비교 연산자를 사용하면 변수나 상수의 타입을 다른 타입과 비교하여 확인할 수 있습니다.

타입 비교 연산자

Swift에서 타입 비교 연산자는 is 키워드를 사용하여 작성합니다.

if someVariable is String {
    print("변수는 String 타입입니다.")
}

위의 예제에서는 someVariable의 타입이 String인지 확인하고, 맞다면 “변수는 String 타입입니다.”라는 문구를 출력합니다.

다른 타입과의 비교

타입 비교 연산자는 단순히 해당 변수의 타입을 확인하는 것뿐만 아니라, 다른 타입과의 비교도 가능합니다.

protocol Animal {
    func makeSound()
}

class Dog: Animal {
    func makeSound() {
        print("멍멍!")
    }
}

class Cat: Animal {
    func makeSound() {
        print("야옹!")
    }
}

let dog: Animal = Dog()
let cat: Animal = Cat()

if dog is Dog {
    dog.makeSound()
}

if cat is Cat {
    cat.makeSound()
}

위의 예제에서는 Animal 프로토콜을 준수하는 DogCat 클래스를 정의하고, dogcat 변수의 타입을 확인합니다. dog 변수는 Dog 클래스의 인스턴스이므로 dog is Dog는 참이 되어 멍멍이 소리가 출력됩니다. cat 변수는 Cat 클래스의 인스턴스이므로 cat is Cat는 참이 되어 야옹 소리가 출력됩니다.

결론

Swift의 타입 시스템은 강력하고 유연하여, 변수나 상수의 타입을 쉽게 확인할 수 있습니다. 타입 비교 연산자를 사용하면 원하는 타입인지 확인하고, 해당 타입에 맞는 동작을 수행할 수 있습니다.