[swift] 부모 클래스의 메서드가 다양한 자식 클래스의 인스턴스에 대해 어떻게 동작하는지

부모 클래스 정의

class Animal {
    func speak() {
        print("동물이 소리를 냅니다")
    }
}

자식 클래스 정의

class Dog: Animal {
    override func speak() {
        print("멍멍")
    }
}

class Cat: Animal {
    override func speak() {
        print("야옹")
    }
}

class Cow: Animal {
    override func speak() {
        print("음메")
    }
}

인스턴스화 및 호출

let animals: [Animal] = [Dog(), Cat(), Cow()]

for animal in animals {
    animal.speak()
}

위의 코드에서, Animal 클래스의 speak 메서드가 다양한 자식 클래스(Dog, Cat, Cow)의 인스턴스에 대해 어떻게 동작하는지를 확인할 수 있습니다.

자세한 내용은 Swift 공식 문서를 참조하십시오. (https://docs.swift.org/swift-book/LanguageGuide/Inheritance.html)