[swift] 다양한 자식 클래스의 공통 특성을 부모 클래스로 추상화하는 방법
프로토콜은 특정 작업 또는 기능의 일부를 정의하기 위한 청사진으로, 프로토콜을 채택하는 클래스, 구조체, 또는 열거형에서 해당 작업 또는 기능을 구현할 수 있습니다.
protocol CommonProtocol {
func commonMethod()
var commonProperty: String { get }
}
class ParentClass: CommonProtocol {
func commonMethod() {
// 부모 클래스에서 공통 메서드 구현
}
var commonProperty: String {
return "Common Property"
}
}
class ChildClassA: ParentClass {
// 부모 클래스의 공통 특성을 상속받음
}
class ChildClassB: ParentClass {
// 부모 클래스의 공통 특성을 상속받음
}
위의 예제에서 CommonProtocol
에는 commonMethod
와 commonProperty
라는 두 가지 요소가 포함되어 있습니다. ParentClass
는 이 프로토콜을 채택하고, 해당 프로토콜의 요소를 구현합니다. 이후 ChildClassA
와 ChildClassB
는 ParentClass
를 상속받아 부모 클래스의 공통 특성을 모두 물려받을 수 있습니다.
이러한 방식은 자식 클래스 간의 공통 특성을 부모 클래스로 추상화하여, 코드를 재사용하고 유지보수하기 쉬운 구조를 만들어 줍니다.
참고문헌: The Swift Programming Language - Protocols