[swift] 상속을 통한 프로토콜 구현

프로토콜은 Swift 언어에서 유용하게 사용되는 강력한 기능 중 하나입니다. 프로토콜은 메서드와 프로퍼티의 청사진을 정의하며, 클래스, 구조체, 열거형 등에서 해당 청사진을 구현할 수 있도록 합니다.

프로토콜 상속

프로토콜은 클래스처럼 상속될 수 있습니다. 이를 통해 하나 이상의 다른 프로토콜을 병합하여 새로운 프로토콜을 정의할 수 있습니다.

protocol Drawable {
    func draw()
}

protocol Colorable {
    var color: String { get set }
}

protocol DrawableAndColorable: Drawable, Colorable {
    func fillColor()
}

위의 예제에서 DrawableColorable 프로토콜을 상속하여 DrawableAndColorable 프로토콜을 정의했습니다.

프로토콜 구현

프로토콜을 클래스, 구조체, 열거형 등에서 구현하려면, 해당 형식에서 모든 프로토콜 요구사항을 충족해야 합니다.

class Square: DrawableAndColorable {
    var color: String = "Red"
    
    func draw() {
        // draw square
    }
    
    func fillColor() {
        // fill square with color
    }
}

위 예제에서 Square 클래스는 DrawableAndColorable 프로토콜을 구현했습니다. 이를 통해 drawfillColor 메서드를 제공하고 color 프로퍼티를 설정할 수 있습니다.

프로토콜 상속과 구현을 통해 Swift에서 강력하고 유연한 코드를 작성할 수 있습니다.

참고 자료: The Swift Programming Language - Protocols