반응형
파이썬에서 클래스 상속을 통해 기존 클래스의 기능을 확장하거나 수정할 수 있습니다. 상속받은 클래스에서 메서드를 재정의(오버라이딩)하여 원하는 동작을 구현할 수 있습니다. 예제를 통해 설명해드릴게요.
1. 기본 클래스 정의
먼저, 기본 클래스를 정의합니다. 이 클래스에는 메서드가 포함되어 있습니다.
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
return f"{self.name} makes a sound"
2. 클래스 상속
기본 클래스를 상속받아 새로운 클래스를 정의합니다. 이 새로운 클래스는 기본 클래스의 모든 속성과 메서드를 상속받습니다.
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # 기본 클래스의 초기화 메서드 호출
self.breed = breed
def speak(self):
return f"{self.name} barks"
3. 메서드 재정의
상속받은 클래스에서 기본 클래스의 메서드를 재정의(오버라이딩)할 수 있습니다. 위 예제에서 Dog 클래스는 Animal 클래스의 speak 메서드를 재정의하여 개가 짖는 소리를 내도록 합니다.
4. 클래스 사용
이제 상속받은 클래스를 사용하여 객체를 생성하고 메서드를 호출할 수 있습니다.
dog = Dog("Buddy", "Golden Retriever")
print(dog.speak()) # "Buddy barks" 출력
5. 추가 예제: 다중 상속
파이썬에서는 다중 상속도 가능합니다. 여러 클래스를 상속받아 새로운 클래스를 정의할 수 있습니다.
class Swimmer:
def swim(self):
return f"{self.name} is swimming"
class FlyingDog(Dog, Swimmer):
def fly(self):
return f"{self.name} is flying"
flying_dog = FlyingDog("Sky", "Border Collie")
print(flying_dog.speak()) # "Sky barks" 출력
print(flying_dog.swim()) # "Sky is swimming" 출력
print(flying_dog.fly()) # "Sky is flying" 출력
이렇게 하면 파이썬에서 클래스 상속과 메서드 재정의를 통해 객체 지향 프로그래밍을 효과적으로 구현할 수 있습니다. 추가로 궁금한 점이 있으면 언제든지 물어보세요! 😊
반응형
'IT' 카테고리의 다른 글
파이썬 실행화일(*.EXE) 만들기 (0) | 2025.02.05 |
---|---|
파이썬 모듈, 패키지 사용 (0) | 2025.02.05 |
파이썬에서 클래스 내부 멤버 변수를 숨기는 방법 (0) | 2025.02.05 |
파이썬 Object Class 정의 (0) | 2025.02.05 |
파이썬 클래스 정의하고 인스턴스 생성 (0) | 2025.02.05 |