의외로 넥슨 게임들이 ObjC를 많이 썼습니다. 마비노기를 기점으로 C/C++이 늘어났다고 알고 있는데요...
오브젝티브C의 메서드 호출 방법은 가상 함수랑 비슷합니다. 어떤 객체에 대해서 메서드를 호출하면 그 메서드 이름을 찾아서 메서드 핸들러를 호출하는 것이죠. 메서드 이름은 동적으로 관리하고요. 그렇다보니 어떤 객체가 소유하고 있지 않은 메서드도 호출은 할 수 있습니다. 이게 상당히 편리한 특성이라 루비 같은 동적 언어들도 이런 특성을 가지고 있죠
오, 윈도우 환경에서도 옵C로 개발된 프로그램이 있었나 봐요?
말씀하신 대로, 옵C의 멤버 함수는 이름과 매개변수가 동적으로 관리됩니다. 어차피 C++로도 바이너리 호환성을 유지하면서 유연하게 클래스 라이브러리의 기능을 확장하려다 보면 UINT nMsg, PVOID pArg 같은 식으로 generic, polymorphic한 함수로 메시지를 주고받게 되지요. 그에 비하면 C++은 템플릿도 그렇고 여전히 컴파일 타임 때 결정되는 요소가 많은 딱딱한 언어라는 느낌이 듭니다.