[swift] 다형성을 통해 일관성 있는 동작을 유지하는 방법

Swift에서는 프로토콜(Protocol)을 통해 다형성을 구현할 수 있습니다.

예를 들어, 다음과 같이 프로토콜을 정의하고 여러 클래스에서 이를 구현하여 다형성을 실현할 수 있습니다.

protocol Vehicle {
    func drive()
}

class Car: Vehicle {
    func drive() {
        print("Driving car")
    }
}

class Bike: Vehicle {
    func drive() {
        print("Riding bike")
    }
}

func startDriving(_ vehicle: Vehicle) {
    vehicle.drive()
}

let car = Car()
let bike = Bike()

startDriving(car) // "Driving car" 출력
startDriving(bike) // "Riding bike" 출력

이처럼 프로토콜을 사용하여 여러 클래스를 일관된 방식으로 다룰 수 있으며, 이는 코드의 유연성과 일관성을 유지하는 데 도움이 됩니다.

참고 문헌: