클래스에서 상속을 통해 어떻게 메서드를 재사용할 수 있나요?
다음은 상속을 사용하여 메서드를 재사용하는 간단한 예시입니다.
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("동물이 소리를 낸다.")
class Cat(Animal):
def __init__(self, name):
super().__init__(name)
def speak(self):
print(f"{self.name}가 야옹 소리를 낸다.")
animal = Animal("동물")
cat = Cat("야옹이")
animal.speak() # 동물이 소리를 낸다.
cat.speak() # 야옹이가 야옹 소리를 낸다.
위의 예시에서 Animal
클래스는 speak
메서드를 가지고 있습니다. 이 클래스를 상속받은 Cat
클래스 역시 speak
메서드를 가지고 있지만, 그 내용은 다릅니다.
super()
함수를 사용하여 부모 클래스의 생성자를 호출하고, 그 외의 동작을 추가할 수 있습니다. 이를 통해 부모 클래스의 메서드를 재사용하면서 자식 클래스에서 추가적인 로직을 수행할 수 있습니다.
상속을 통해 부모 클래스의 메서드를 재사용하면 코드의 중복을 방지하고 유지보수성을 높일 수 있습니다.