class : 클래스이름(상속할 클래스이름)
class ClassName: # 부모 클래스
pass
class MoreClassname(ClassName): # 상속 클래스
pass
class FourCal:
def __init__(self, first, second):
print("나는 계산기입니다.")
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
def sub(self):
result = self.first - self.second
return result
class MoreFourCal(FourCal):
def pow(self):
result = self.first ** self.second
return result
a = FourCal(13, 10)
print("정답은 : ", a.add())
print("정답은 : ", a.sub())
>>> 나는 계산기입니다.
정답은 : 23
정답은 : 3
a = MoreFourCal(14, 9)
print("클래스상속자의 정답은 : ", a.add())
print("클래스상속자의 정답은 : ", a.sub())
print("클래스상속자의 pow 정답은 : ", a.pow())
>>> 나는 계산기입니다.
클래스상속자의 정답은 : 23
클래스상속자의 정답은 : 5
클래스상속자의 pow 정답은 : 20661046784
FourCal이라는 클래스를 MoreFourCal이라는 클래스로 매소드를 상속했으므로 모든 FourCal 클래스의 매소드를 MoreFourCal가 사용할 수 있다. 또한 추가할수도 있으며, 기존에 부모클래스인 FourCal에 있는 add함수를 동일한 이름으로 MoreFourCal클래스에서 사용한다면 상속 클래스인 MoreFourCal 클래스가 우선(메소드 오버라이딩)된다.