class 부모클래스:
# 부모 클래스의 내용
...
class 자식클래스(부모클래스):
# 부모 클래스를 상속받은 자식 클래스
...
자식클래스(부모클래스)
형태로 상속합니다.class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("동물이 소리를 냅니다")
# Animal을 상속받은 Dog 클래스
class Dog(Animal):
def speak(self):
print("멍멍")
# Animal을 상속받은 Cat 클래스
class Cat(Animal):
def speak(self):
print("야옹")
dog = Dog("바둑이")
cat = Cat("나비")
print(dog.name) # 부모 클래스의 생성자 사용
dog.speak() # 오버라이딩된 메서드 호출
print(cat.name)
cat.speak()
바둑이
멍멍
나비
야옹
자식 클래스에서 부모 클래스의 생성자를 호출하고 싶을 때는 super()
를 사용해요.
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def __init__(self, name, breed):
# 부모 클래스의 생성자 호출
super().__init__(name)
self.breed = breed
def info(self):
print(f"이름: {self.name}, 견종: {self.breed}")
dog = Dog("초코", "푸들")
dog.info()
이름: 초코, 견종: 푸들