COM, ATL

ClassObject(클래스 객체)란 무엇인가?

디버그정 2008. 7. 27. 02:57

CoGetClassObject라는 함수는 클래스 팩토리 객체를 생성하고 그 인터페이스 포인터를 리턴해준다.
상기 함수는 컴포넌트 객체를 생성하는 게 아님을 주의한다.

무심히 저함수의 ClassObject이름을 보면 그냥 클래스의 객체로 생각하고 넘어간다.
그런데 객체면 객체지 왜 ClassObject라고 이름을 붙였겠는가?

정확한 의미는 클래스 역할을 하는 객체이다...

클래스 팩토리 객체는 컴포넌트 객체를 생성하므로 ......
자주 사용하는 붕어빵틀-붕어빵 관계에서 처럼
컴포넌트 입장에서 보면 마치 자신을 생성하는 하나의 틀인 클래스로 생각되는 것이다.