[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를 출력합니다.

결론

파이썬의 클래스 상속을 통해 기존 클래스를 재사용하고 기능을 확장하는 방법을 살펴보았습니다. 클래스 상속은 코드를 보다 모듈화하고 유연하게 만드는데 큰 도움이 됩니다.

이상으로 파이썬 클래스의 상속을 통한 기능 확장에 대해 알아보았습니다. 만약 질문이 있거나 추가적인 정보가 필요하시다면 언제든지 문의해주세요.