728x90
반응형
다중 상속 : 2개 이상의 클래스를 동시에 상속 받는 것을 의미
# 다중 상속 테스트
class Tiger:
def Jump(self):
print("호랑이 Jump")
class Lion:
def Bite(self):
print("사자 Bite")
class Liger(self):
def Play(self):
print("라이거 Play")
if __name__ == "__main__":
adultLiger = Liger()
# 2개의 클래스로부터 상속받은 메소드 사용 시 오류 발생 X
adultLiger.Play()
adultLiger.Bite()
adultLiger.Jump()
# 다중 상속의 경우, 이름 충돌이 발생하는 경우 테스트
class Tiger:
def Jump(self):
print("호랑이 Jump")
def cry(self):
print("호랑이 Cry")
class Lion:
def Bite(self):
print("사자 Bite")
def Cry(self):
print("사자 Cry")
class Liger(Tiger, Lion):
def Play(self):
print("라이거 Play")
if __name__ == "__main__":
adultLiger = Liger()
# 아래의 cry() 메소드 호출 시, 상속 받을 때 먼저 상속 받은 클래스의 cry() 메소드가 호출됨
# Liger 클래스의 정의부분 참고
# 여기에선 Tiger 클래스를 먼저 상속 받았으므로, 코드를 실행하면 '호랑이 Cry'가 출력됨
adultLiger.Cry()
728x90
'Python > 구조 공부하기' 카테고리의 다른 글
[Python] 7. 파이썬의 모듈 및 사용자 정의 모듈 (2) | 2021.10.26 |
---|---|
[Python] 5. 상속과 다형성 (0) | 2021.10.26 |
[Python] 4. private 멤버 (0) | 2021.10.26 |
[Python] 3. 정적 메소드 (0) | 2021.10.13 |
[Python] 2. 생성자 메소드와 소멸자 메소드 (0) | 2021.10.06 |