Python 객체 지향 프로그래밍 입문
George Boorman
Curriculum Manager, DataCamp



$$\Large{\text{새 클래스 기능 = 기존 클래스 기능 + 추가}}$$




class BankAccount: def __init__(self, balance): self.balance = balance def withdraw(self, amount): self.balance -= amount# BankAccount를 상속하는 클래스 class SavingsAccount(BankAccount): pass
BankAccount: 기능이 확장/상속되는 부모 클래스 SavingsAccount: 기능을 상속하고 추가할 자식/하위 클래스# BankAccount에서 생성자 상속
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# BankAccount에서 속성 상속
savings_acct.balance
1000
# BankAccount에서 메서드 상속
savings_acct.withdraw(300)
SavingsAccount는 BankAccount이다
(특수 기능이 있을 수 있음)
savings_acct = SavingsAccount(1000)
isinstance(savings_acct, SavingsAccount)
True
isinstance(savings_acct, BankAccount)
True
acct = BankAccount(500)
isinstance(acct, SavingsAccount)
False
isinstance(acct, BankAccount)
True
Python 객체 지향 프로그래밍 입문