클래스 상속을 통해 부모 클래스의 속성을 초기화하는 방법은 무엇인가요?
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) 등을 고려해야 할 수도 있습니다. 이러한 경우에는 더 자세한 상속 관련 문서를 참고하는 것이 도움이 됩니다.