[python] 상위 클래스와 하위 클래스 간의 메소드 오버라이딩

상속은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 파이썬에서는 상속을 이용하여 클래스 간의 관계를 정의하고, 메소드 오버라이딩을 통해 하위 클래스에서 상위 클래스의 메소드를 재정의할 수 있습니다.

상속 (Inheritance)

상속을 통해 하위 클래스는 상위 클래스의 속성과 동작을 물려받습니다. 아래는 간단한 예제 코드입니다.

class Animal:
    def speak(self):
        print("음성을 내다")

class Dog(Animal):
    def speak(self):
        print("멍멍!")

위 예제에서 Animal 클래스는 speak 메소드를 가지고 있고, Dog 클래스는 이를 상속받아 재정의합니다.

메소드 오버라이딩 (Method Overriding)

메소드 오버라이딩은 하위 클래스에서 상위 클래스의 메소드를 재정의하는 것을 말합니다. 이를 통해 하위 클래스는 상위 클래스의 메소드 구현을 변경할 수 있습니다.

class Cat(Animal):
    def speak(self):
        print("야옹~")

Cat 클래스는 Animal 클래스의 speak 메소드를 재정의하여 다른 동작을 수행합니다.

메소드 오버라이딩은 다형성(Polymorphism)을 구현하는데 중요한 역할을 합니다. 이를 통해 동일한 메소드 호출에 대해 각 객체가 자신의 메소드를 실행함으로써 다른 동작을 수행할 수 있습니다.

요약

상속과 메소드 오버라이딩은 객체 지향 프로그래밍의 핵심 개념 중 하나입니다. 상속을 통해 코드를 재사용하고, 메소드 오버라이딩을 통해 유연한 동작을 정의할 수 있습니다.

더 많은 정보를 원하시면 다음 Python 공식 문서를 참고하세요: Python 공식 문서