Python
Python 문법 기초 28 - class 다중 상속
코딩탕탕
2022. 10. 22. 17:10
# 다중 상속 : 순서가 중요
class Tiger:
data = '호랑이 세상'
def cry(self):
print('호랑이는 어흥')
def eat(self):
print('맹수는 고기를 좋아함')
class Lion:
def cry(self):
print('사자는 으르렁')
def hobby(self):
print('백수의 왕은 낮잠을 즐김')
class Liger1(Tiger, Lion): # 다중 상속(먼저 적어준 클래스에 우선순위가 있다.)
pass
a1 = Liger1()
a1.cry()
a1.eat()
a1.hobby()
print(a1.data)
<console>
호랑이는 어흥
맹수는 고기를 좋아함
백수의 왕은 낮잠을 즐김
호랑이 세상
다중 상속은 메소드가 같은 이름의 부모 클래스를 상속받으면 인자에 먼저 적어준 클래스에 우선순위가 있다.
class Liger2(Lion, Tiger):
data = '라이거 만세'
def hobby(self):
print('라이거는 자바를 좋아함')
def showData(self):
print(self.data, ' ', super().data)
self.hobby()
super().hobby()
a2 = Liger2()
a2.cry()
a2.hobby()
a2.showData()
<console>
사자는 으르렁
라이거는 자바를 좋아함
라이거 만세 호랑이 세상
라이거는 자바를 좋아함
백수의 왕은 낮잠을 즐김