[python] 파이썬에서의 다형성 구현 방법
다형성(polymorphism)은 객체지향 프로그래밍에서 중요한 개념 중 하나입니다. 이는 같은 이름의 메소드나 함수 호출에 대해 서로 다른 동작을 수행할 수 있는 능력을 의미합니다. 파이썬은 동적 타입 언어로 다형성을 쉽게 구현할 수 있습니다.
다형성의 개념
다형성은 같은 인터페이스를 가진 여러 클래스의 객체가 각각 다르게 동작할 수 있는 능력을 의미합니다. 예를 들어, 동일한 메소드를 호출하더라도 객체의 타입에 따라 다른 동작을 수행하도록 만드는 것이 가능합니다.
파이썬에서의 다형성 구현
파이썬에서는 클래스의 메소드 오버라이딩을 통해 다형성을 구현할 수 있습니다. 메소드 오버라이딩은 부모 클래스의 메소드를 자식 클래스에서 재정의 하는 것을 말합니다.
다음은 파이썬에서 다형성을 구현하는 간단한 예제입니다.
class Animal:
def sound(self):
pass
class Dog(Animal):
def sound(self):
print("멍멍")
class Cat(Animal):
def sound(self):
print("야옹")
def make_sound(animal):
animal.sound()
dog = Dog()
cat = Cat()
make_sound(dog) # "멍멍" 출력
make_sound(cat) # "야옹" 출력
위 예제에서 make_sound
함수는 Animal
클래스 타입의 인자를 받으며, 해당 인자의 sound
메소드를 호출합니다. 이 때, make_sound
함수는 전달된 객체의 실제 타입에 따라 다른 동작을 수행하게 됩니다.
정리
파이썬은 동적 타입 언어로 다형성을 쉽게 구현할 수 있습니다. 메소드 오버라이딩을 통해 각 클래스의 메소드를 재정의함으로써 다형성을 구현할 수 있습니다.
다형성은 코드의 유연성과 재사용성을 높여주며, 객체지향 프로그래밍에서 강력한 도구로 사용될 수 있습니다.
이상으로 파이썬에서의 다형성에 대한 간단한 설명을 마치겠습니다.
참고 문헌:
- https://www.tutorialspoint.com/python/python_polymorphism.htm