[swift] 상속을 통해 클래스 간의 관계를 형성하는 방법

Swift에서 클래스 간의 관계를 정의하는 강력한 방법 중 하나는 상속(inheritance)을 사용하는 것입니다. 상속을 통해 한 클래스가 다른 클래스로부터 특성을 상속받아 새로운 클래스를 정의할 수 있습니다.

상속 개념

상속을 위해서는 class 키워드 다음에 코론(:)을 사용하여 부모 클래스를 지정합니다. 부모 클래스의 특성은 자식 클래스에게 상속됩니다.

class ParentClass {
    // 부모 클래스의 속성과 메서드
}

class ChildClass: ParentClass {
    // 자식 클래스의 추가 속성과 메서드
}

위의 예시에서 ChildClassParentClass를 상속받았기 때문에 ParentClass의 모든 속성과 메서드를 사용할 수 있습니다.

메서드 재정의(Overriding methods)

자식 클래스는 부모 클래스로부터 상속받은 메서드를 재정의하여 자신에 맞게 수정할 수 있습니다. 이를 통해 부모 클래스의 메서드에 새로운 동작을 추가하거나 변경할 수 있습니다.

class ParentClass {
    func greet() {
        print("Hello, I'm the parent")
    }
}

class ChildClass: ParentClass {
    override func greet() {
        print("Hello, I'm the child")
    }
}

Final 클래스와 메서드

final 키워드를 사용하여 클래스를 정의하면 해당 클래스는 상속될 수 없습니다. 마찬가지로 final 키워드를 사용하여 메서드를 정의하면 해당 메서드는 재정의될 수 없습니다.

final class FinalClass {
    // 상속될 수 없는 클래스 정의
}

class ParentClass {
    final func greet() {
        // 재정의될 수 없는 메서드
    }
}

상속을 통해 클래스 간의 관계를 형성하고, overridefinal 키워드를 사용하여 클래스 및 메서드를 적절히 제어하여 안정적이고 확장 가능한 애플리케이션을 구축할 수 있습니다.

참조: The Swift Programming Language - Inheritance