[swift] 상속을 통해 계층적인 클래스 구조를 생성하는 방법

아래는 스위프트에서 상속을 통해 계층적인 클래스 구조를 생성하는 간단한 예제 코드입니다.

class Animal {
    var name: String

    init(name: String) {
        self.name = name
    }

    func makeSound() {
        // 동물의 울음소리를 출력
    }
}

class Dog: Animal {
    var breed: String

    init(name: String, breed: String) {
        self.breed = breed
        super.init(name: name)
    }

    override func makeSound() {
        print("멍멍!")
    }
}

// Dog 클래스의 인스턴스 생성
let myDog = Dog(name: "맥스", breed: "푸들")
myDog.makeSound() // 결과: "멍멍!"

위 예제에서 Dog 클래스는 Animal 클래스를 상속받았습니다. 이를 통해 Dog 클래스는 Animal 클래스의 속성과 메서드를 상속받아 사용할 수 있습니다. 또한 필요에 따라 메서드를 재정의하여(override) 자체적인 구현을 추가할 수도 있습니다.

이렇게 상속을 통해 클래스를 확장하고, 계층적인 구조를 구현할 수 있습니다.