Python/객체지향/Lesson 18
클래스 상속
45분·theory
이 챕터
2/3
Python
3.
4.
클래스 상속
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ 단일 상속 vs 다중 상속 + MRO (Method Resolution Order)
- ▸✅ super() 사용 시점
- ▸✅ 추상 클래스 (abc.ABC + @abstractmethod)
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
상속 — 코드 + 실행 결과
class 자식(부모): = 부모의 속성·메서드 그대로 + 자식이 추가·재정의.
1. 기본 상속
2. 메서드 재정의 (override)
같은 메서드명, 다른 동작 = 다형성 (polymorphism).
3. super() — 부모 메서드 호출
4. isinstance — 부모 타입 검사
5. 다중 상속 (신중히)
한 줄 요약
class 자식(부모): + super().메서드() + 메서드 재정의 = 상속의 90%.
💡 핵심 포인트
1. class 자식(부모): 형태로 상속
2. super()로 부모 메서드 호출
3. isinstance(), issubclass()로 관계 확인
Python의 OOP는 클래스(class)로 객체를 정의합니다. __init__은 생성자, self는 인스턴스 참조입니다. 상속은 class Child(Parent)로 구현하며, super()로 부모 메서드를 호출합니다. @property로 getter/setter 구현, @classmethod/@staticmethod로 클래스/정적 메서드를 정의합니다. 다중 상속과 MRO(Method Resolution Order)도 지원합니다.
🐍 실행해보기 — 클래스 상속
위 개념을 실제로 코드로 실행해보세요. 값을 바꿔가며 어떻게 동작하는지 직접 확인하는 게 가장 빠른 학습.
✏️ Python 코드
📟 콘솔 출력
▶ 실행 버튼을 눌러보세요
🐍 Pyodide로 실제 Python 실행 — 첫 실행 시 로딩 3~5초 소요
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"이 dict 기반 자료구조를 dataclass 로 바꿔줘"
- ▸"이 클래스에 __repr__ · __eq__ 적절히 추가해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.
먼저 읽으면 좋은 개념: 클래스 기초