[python] 상속과 다형성을 함께 사용하는 예시
이 게시물에서는 Python에서 상속과 다형성을 함께 사용하는 예시를 살펴보겠습니다.
상속 (Inheritance)
Python에서 상속은 자식 클래스가 부모 클래스의 속성과 메서드를 상속받는 것을 의미합니다. 이를 통해 코드의 재사용성과 유지보수성을 높일 수 있습니다.
다음은 Animal
클래스를 정의하고, Dog
클래스가 Animal
클래스를 상속받는 예시입니다:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof!"
위 예제에서 Dog
클래스는 Animal
클래스를 상속받아 speak
메서드를 오버라이딩하여 구현했습니다.
다형성 (Polymorphism)
다형성은 같은 이름의 메서드가 다른 클래스에서 다른 기능을 수행하는 것을 의미합니다.
다음은 make_sound
함수가 Animal
인스턴스를 매개변수로 받아서 해당 인스턴스의 speak
메서드를 호출하는 예시입니다:
def make_sound(animal):
print(animal.speak())
dog = Dog()
make_sound(dog) # 출력: "Woof!"
위 예제에서 make_sound
함수는 Animal
클래스의 다형성을 보여주고 있습니다. make_sound
함수는 Animal
클래스를 상속받은 Dog
클래스의 인스턴스를 매개변수로 받아서 speak
메서드를 호출하는데, 이때 Dog
클래스의 speak
메서드가 호출되었습니다.
이처럼 Python에서 상속과 다형성을 함께 사용하여 유연하고 재사용 가능한 코드를 작성할 수 있습니다.
결론
Python의 상속과 다형성은 객체지향 프로그래밍을 효율적으로 활용할 수 있도록 도와줍니다. 상속을 통해 코드의 재사용성을 높이고, 다형성을 통해 유연하고 확장 가능한 코드를 작성할 수 있습니다.
참고 문헌:
- https://docs.python.org/3/tutorial/classes.html