누누히 말하지만, Python이 OOP 프로그래밍에 그다지 적합한 언어는 아니다. 덕분에, OOP 프로그래밍을 지원하기 위해 마련된 장치들이 충돌을 일으키는 경우가 종종 있다. 오늘 겪은 문제는 다중상속시 metaclass 충돌 문제다. 먼저 간단하게 말하면, Python이 다중상속을 지원하지만 metaclass를 다중상속 받을 수는 없다는 얘기다. 우회하는 방법이 있는걸로 보이지만, 굳이 이렇게 까지 해야 하나싶고. 문제의 근원인 인터페이스에 대해 먼저 말해보자….