[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에는 commonMethodcommonProperty라는 두 가지 요소가 포함되어 있습니다. ParentClass는 이 프로토콜을 채택하고, 해당 프로토콜의 요소를 구현합니다. 이후 ChildClassAChildClassBParentClass를 상속받아 부모 클래스의 공통 특성을 모두 물려받을 수 있습니다.

이러한 방식은 자식 클래스 간의 공통 특성을 부모 클래스로 추상화하여, 코드를 재사용하고 유지보수하기 쉬운 구조를 만들어 줍니다.

참고문헌: The Swift Programming Language - Protocols