기본 패턴
python
class Animal:
def speak(self):
return "..."
class Dog(Animal):
def speak(self):
return "woof"설명
- 상속은 공통 성질을 부모 클래스에 두고, 구체적인 차이를 자식 클래스에 나누는 방식입니다.
- 자식 클래스는 부모 클래스의 메서드와 속성을 물려받을 수 있습니다.
- 같은 이름의 메서드를 다시 정의하면 오버라이드가 됩니다.
super()는 부모 클래스 구현을 활용할 때 자주 씁니다.
짧은 예제
python
class User:
def __init__(self, name):
self.name = name
class Admin(User):
def __init__(self, name, level):
super().__init__(name)
self.level = level빠른 정리
| 표현 | 의미 |
|---|---|
class Child(Parent): | 상속 선언 |
| 오버라이드 | 같은 이름 메서드 재정의 |
super() | 부모 구현 활용 |
| 공통 코드 재사용 | 상속의 주요 목적 중 하나 |
공식 참고: Classes
주의할 점
상속은 강력하지만 남용하면 구조가 복잡해집니다. "정말 is-a 관계인가"를 먼저 보고, 단순 기능 재사용이면 합성이나 함수 분리가 더 나을 때도 많습니다.