[swift] 프로토콜 상속

프로토콜은 스위프트의 강력한 기능 중 하나로, 유형 간의 관계를 형성하는 데 사용됩니다. 프로토콜 상속은 하나 이상의 프로토콜을 다른 프로토콜에 채택할 수 있는 기능을 제공합니다.

기본 문법

프로토콜 상속은 다음과 같이 선언합니다:

protocol ProtocolA {
    // protocol definition
}

protocol ProtocolB: ProtocolA {
    // protocol B inherits ProtocolA
    // additional protocol requirements
}

ProtocolBProtocolA를 상속했으므로, ProtocolA에서 정의된 모든 요구사항을 포함하게 됩니다. 또한, ProtocolBProtocolA에서 정의된 요구사항에 더해 추가적인 요구사항을 정의할 수 있습니다.

상속된 프로토콜의 요구사항을 충족시키기 위해 구현할 사항이 있는 경우, 상속된 프로토콜의 요구사항도 함께 구현해야 합니다.

예제

다음은 CustomStringConvertible 프로토콜을 상속하는 CustomDebugStringConvertible 프로토콜을 정의하는 예제입니다:

protocol CustomDebugStringConvertible: CustomStringConvertible {
    var debugDescription: String { get }
}

CustomDebugStringConvertible 프로토콜은 debugDescription 요구사항을 추가로 가지고 있으며, CustomStringConvertible 프로토콜을 상속하여 description 요구사항을 포함하게 됩니다.

프로토콜 상속을 통해 코드의 재사용성을 높이고 유지보수를 용이하게 하는 좋은 방법입니다.

프로토콜 상속에 대해 더 알아보고 싶다면 Swift 공식 문서를 참고하세요.