inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

양념치킨님의 게시글

양념치킨 양념치킨

@ikarte6668758

수강평 작성수
3
평균평점
5.0

게시글 3

질문&답변

클래스 상속 순서? 질문

지나가다가 우연히 아는 내용이 보이길래 댓글 달아봅니다. 파이썬에서는 mro때문에 상속 순서가 매우 중요합니다. Generic을 먼저 상속받고 Robot을 상속받는 두 번째 코드는 내부적으로 다음과 같이 처리됩니다. Siri -> Generic(Siri의 부모) -> Robot(Generic의 부모) 먼저 상속받는 클래스가 높은 우선순위를 가지게 되며 이는 super()를 사용해 명확하게 확인하실 수 있습니다. 이렇게 되면 Generic의 부모가 Robot이 되어버리는데 Robot클래스는 선언부에서 Generic을 상속받고 있습니다. 따라서 Generic의 부모는 Robot이 되는데 Robot의 부모도 Generic이 되어버리는 역설적인 상황이 되며 이에 파이썬이 에러를 뱉어버리는 것입니다.

좋아요수
1
댓글수
2
조회수
398