Python객체지향

상속 기본

공통 동작을 부모 클래스에서 재사용하고, 필요한 부분만 자식 클래스에서 확장하는 Python 상속의 기본 구조입니다.

마지막 수정 2026년 3월 19일

기본 패턴

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 관계인가"를 먼저 보고, 단순 기능 재사용이면 합성이나 함수 분리가 더 나을 때도 많습니다.