728x90 C3알고리즘1 [PYTHON] 다중 상속의 미학, super()가 부모를 찾는 1가지 핵심 알고리즘과 해결 방법 객체 지향 프로그래밍(OOP)을 지원하는 언어 중 파이썬은 강력하면서도 유연한 다중 상속(Multiple Inheritance) 기능을 제공합니다. 하지만 상속 구조가 복잡해질수록 "도대체 어떤 부모 클래스의 메서드가 먼저 실행되는가?"라는 혼란에 빠지기 쉽습니다. 특히 super() 함수는 단순히 '직계 부모'를 호출하는 것이 아니라, 파이썬만의 독특한 규칙을 따릅니다. 이 글에서는 다중 상속 구조에서 발생할 수 있는 죽음의 다이아몬드(Diamond of Death) 문제를 해결하는 super()의 동작 원리와 MRO(Method Resolution Order) 알고리즘을 심도 있게 분석합니다.## 1. super()는 왜 직계 부모가 아닐까? (C3 Linearization)흔히 초보 개발자들은 su.. 2026. 3. 26. 이전 1 다음 728x90