누누히 말하지만, Python이 OOP 프로그래밍에 그다지 적합한 언어는 아니다. 덕분에, OOP 프로그래밍을 지원하기 위해 마련된 장치들이 충돌을 일으키는 경우가 종종 있다. 오늘 겪은 문제는 다중상속시 metaclass 충돌 문제다. 먼저 간단하게 말하면, Python이 다중상속을 지원하지만 metaclass를 다중상속 받을 수는 없다는 얘기다. 우회하는 방법이 있는걸로 보이지만, 굳이 이렇게 까지 해야 하나싶고. 문제의 근원인 인터페이스에 대해 먼저 말해보자….
[태그:] oop
Design Pattern: OOP Design에 대한 단상
C++을 처음 접할 때가 생각난다. 캡슐화, 상속, 다형성만 알면 OOP에 대해 될거 같았다. 아니었다. 이것들을 이용해서 어떻게 ‘잘’ 디자인할지를 훈련해야 했는데 못했다. 오랜기간 회사에서 개발자로 지냈지만, 그 때 못한 훈련이 계속 내 발목을 잡았고, 후회가 되었다. 그래서 뒤늦게 나마 디자인 패턴을 공부중이다. 나이를 먹어서인지, 경험적인 내용들은 머리에 들어오는데, 이론적인 얘기들은 휘리릭 빠져나간다. 그래서 경험적인 야매…