[swift] 프로토콜 상속
프로토콜은 기능을 정의하고 구현하는데 사용됩니다. 스위프트에서는 프로토콜을 상속하여 다른 프로토콜을 확장하고 업데이트할 수 있습니다.
기본 프로토콜 정의
먼저, 다음과 같이 Printable
프로토콜을 정의합니다.
protocol Printable {
func print()
}
프로토콜 상속
이제 Printable
프로토콜을 상속한 DebugPrintable
프로토콜을 정의해 보겠습니다.
protocol DebugPrintable: Printable {
func debugPrint()
}
위 코드에서 DebugPrintable
은 Printable
프로토콜을 상속하고 있습니다.
예시
아래의 예시에서는 DebugPrinter
클래스가 DebugPrintable
프로토콜을 따르고 있습니다. 이렇게 함으로써 DebugPrinter
클래스는 print
과 debugPrint
메서드를 구현해야 합니다.
class DebugPrinter: DebugPrintable {
func print() {
// 구현
}
func debugPrint() {
// 구현
}
}
상속된 프로토콜 사용
다른 프로토콜을 상속한 프로토콜은 다음과 같이 사용됩니다.
protocol Loggable: DebugPrintable {
func log()
}
위 코드에서 Loggable
프로토콜은 DebugPrintable
프로토콜을 상속하고 있습니다.
프로토콜 상속을 사용하여 코드를 더 모듈화하고 재사용 가능하도록 만들 수 있습니다.
참고문헌:
- The Swift Programming Language - Inheritance
- Using protocol composition as a lightweight way to work with dependencies