Swift에서 프로토콜 확장을 사용하면 기존 프로토콜에 새로운 기능을 추가할 수 있습니다.
프로토콜 확장은 기존 프로토콜을 채택한 모든 타입에 대해 확장이 적용되므로, 기존 타입을 수정하지 않고도 기능을 추가할 수 있습니다.
protocol MyProtocol {
// 프로토콜 요구사항
}
extension MyProtocol {
// 추가 기능 구현
}
MyProtocol은 프로토콜을 정의하고, extension 키워드를 사용하여 프로토콜 확장을 정의합니다.
extension 블록 내에서는 기존 프로토콜에 없는 메서드, 프로퍼티, 서브스크립트 등의 추가 기능을 구현할 수 있습니다.
protocol Printable {
func print()
}
extension Printable {
func print() {
Swift.print("Printing...")
}
func printTwice() {
print()
print()
}}
struct MyStruct: Printable {}
let myInstance = MyStruct()
myInstance.print() // 출력: "Printing..."
myInstance.printTwice() // 출력: "Printing..." (두 번 출력)
프로토콜 확장은 기존 타입에 기능을 추가하는 데 사용되며, 코드의 재사용성과 확장성을 높여줍니다.
기능을 중복 구현하지 않고 다양한 타입에 일관된 기능을 제공하는 데 도움이 됩니다.
참고(출처) : 개발하는 정대리, 야곰(Swift 5)
글이 많은 도움이 되었습니다, 감사합니다.