클래스 상속을 통해 부모 클래스의 속성을 초기화하는 방법은 무엇인가요?

super() 함수는 자식 클래스에서 부모 클래스의 메서드나 속성을 호출할 때 사용됩니다. super() 함수를 호출하면 자식 클래스의 초기화 메서드에서 부모 클래스의 초기화 메서드가 호출되어 부모 클래스의 속성을 초기화할 수 있습니다.

아래는 부모 클래스 Parent와 자식 클래스 Child의 예시입니다.

class Parent:
    def __init__(self, name):
        self.name = name

class Child(Parent):
    def __init__(self, name, age):
        super().__init__(name)  # 부모 클래스의 초기화 메서드 호출
        self.age = age

child = Child("John", 10)
print(child.name)  # 출력: John
print(child.age)   # 출력: 10

위의 예시에서 자식 클래스 Child__init__ 메서드에서 super().__init__(name)을 호출하여 부모 클래스 Parent__init__ 메서드를 호출합니다. 이를 통해 부모 클래스의 name 속성을 초기화하고, 자식 클래스에서 추가로 age 속성을 초기화합니다.

더 복잡한 클래스 계층 구조의 경우, 다중 상속이나 MRO(Method Resolution Order) 등을 고려해야 할 수도 있습니다. 이러한 경우에는 더 자세한 상속 관련 문서를 참고하는 것이 도움이 됩니다.