[python] 클래스 상속과 다형성을 활용한 모듈화 방법

Python은 객체 지향 프로그래밍 언어로, 클래스 상속과 다형성을 통해 모듈화를 할 수 있습니다. 이를 통해 코드를 재사용하고 유지보수하기 쉽게 만들 수 있습니다.

클래스 상속

클래스 상속은 기존 클래스의 속성과 메서드를 다른 클래스에서 재사용하는 것을 가능하게 합니다.

class Animal:
    def __init__(self, name):
        self.name = name

    def make_sound(self):
        pass

class Dog(Animal):
    def make_sound(self):
        return "멍멍!"

class Cat(Animal):
    def make_sound(self):
        return "야옹!"

위의 예제에서 Animal 클래스는 make_sound 메서드를 정의하지 않았지만, DogCat 클래스에서 상속받아 사용하고 있습니다.

다형성

다형성은 동일한 이름을 가진 메서드나 함수가 다른 기능을 하는 것을 의미합니다.

def animal_sound(animal):
    return animal.make_sound()

dog = Dog("멍멍이")
cat = Cat("야옹이")

print(animal_sound(dog))  # "멍멍!" 출력
print(animal_sound(cat))  # "야옹!" 출력

animal_sound 함수는 make_sound 메서드를 호출하지만, 실제로 DogCat 인스턴스에 따라 다른 결과를 반환하는 것을 확인할 수 있습니다.

이처럼 Python에서 클래스 상속과 다형성을 활용하면 유연하고 모듈화된 코드를 작성할 수 있습니다.

참고 자료

위의 예제 코드를 사용하여 Python에서 클래스 상속과 다형성을 활용한 모듈화 방법을 소개했습니다. 다양한 예제를 통해 이를 실습하면서 더 깊이있게 이해할 수 있을 것입니다.