[python] 클래스의 상속을 통한 기능 확장
파이썬에서는 클래스를 상속하여 기존 클래스의 기능을 확장하고 수정할 수 있습니다. 이는 코드 재사용을 촉진하고 유지보수성을 향상시킵니다. 이번 포스트에서는 파이썬에서 클래스를 상속하고 기능을 확장하는 방법에 대해 알아보겠습니다.
기본 클래스 정의
먼저, 기본이 되는 클래스를 정의해보겠습니다. 예를 들어, Animal
클래스가 있고 이 클래스에는 make_sound
메서드가 있다고 가정해봅시다.
class Animal:
def make_sound(self):
print("Some generic sound")
상속을 통한 클래스 확장
이제 Animal
클래스를 상속받아 새로운 클래스인 Dog
클래스를 정의해보겠습니다.
class Dog(Animal):
def make_sound(self):
print("Bark")
위의 예제에서 Dog
클래스는 Animal
클래스를 상속받았습니다. 그리고 make_sound
메서드를 오버라이딩하여 개의 짖는 소리를 출력하도록 수정했습니다.
부모 클래스 메서드 호출
만약 자식 클래스에서 부모 클래스의 메서드를 오버라이딩하면서 부모 클래스의 메서드도 함께 호출하고 싶다면 super()
키워드를 사용할 수 있습니다.
class Cat(Animal):
def make_sound(self):
super().make_sound()
print("Meow")
위의 예제에서 Cat
클래스는 Animal
클래스를 상속받고, make_sound
메서드 안에서 super().make_sound()
를 호출하여 부모 클래스의 make_sound
메서드를 먼저 실행한 후에 Meow
를 출력합니다.
결론
파이썬의 클래스 상속을 통해 기존 클래스를 재사용하고 기능을 확장하는 방법을 살펴보았습니다. 클래스 상속은 코드를 보다 모듈화하고 유연하게 만드는데 큰 도움이 됩니다.
이상으로 파이썬 클래스의 상속을 통한 기능 확장에 대해 알아보았습니다. 만약 질문이 있거나 추가적인 정보가 필요하시다면 언제든지 문의해주세요.