[swift] 상속과 다형성 활용하기

이번에는 Swift에서 상속과 다형성을 어떻게 활용하는지 알아보겠습니다. 상속은 클래스들 간의 계층 구조를 만들고, 다형성은 하나의 인터페이스를 통해 여러 타입을 다룰 수 있는 능력을 말합니다. Swift에서 이러한 개념들을 어떻게 활용하는지 살펴보겠습니다.

상속(Inheritance)

상속을 사용하면 기존 클래스의 프로퍼티와 메서드를 다른 클래스가 재활용할 수 있습니다. 새로운 클래스에서 기존 클래스를 상속받고자 할 때는 class 키워드 뒤에 상속할 클래스의 이름을 적어줍니다.

class Vehicle {
    var currentSpeed = 0.0
    var description: String {
        return "traveling at \(currentSpeed) miles per hour"
    }

    func makeNoise() {
        // 재정의를 위한 기본 구현
    }
}

class Bicycle: Vehicle {
    var hasBasket = false
}

let bicycle = Bicycle()
bicycle.hasBasket = true
bicycle.currentSpeed = 15.0
print(bicycle.description)

다형성(Polymorphism)

다형성은 같은 인터페이스를 통해 여러 타입을 다룰 수 있는 능력을 말합니다. 부모 클래스 타입으로 선언된 변수나 상수에 자식 클래스의 인스턴스를 할당할 수 있습니다.

let vehicle: Vehicle = Bicycle()
print(vehicle.description)

이를 통해, 자식 클래스의 특성을 감출 수 있고, 부모 클래스 타입으로 일관된 인터페이스를 제공할 수 있습니다.

각 클래스의 특징과 다형성을 통한 활용법에 대해 간단히 알아보았습니다. 상속과 다형성은 코드의 재사용성과 유연성을 높여주는데, 실제 프로젝트에서 이를 활용하여 코드를 구조화하는 것이 중요합니다.

이렇게 상속과 다형성을 활용하여 더욱 강력하고 유연한 코드를 작성할 수 있습니다. 기회가 되면 자세한 예제와 함께 다시 알아보도록 하겠습니다.

더 많은 정보를 원하시면 Swift 공식 문서를 참고하시기 바랍니다.