반응형

ATL/COM을 말씀드리기보다는 COM의 장점을 말씀드리는 것이 우선이겠지요.


ATL은 COM의 작성을 쉽도록 하는 라이브러리 같은 것이니.....


COM의 장점은 많겠지만, 프로그래머로써 개발자로써 도움이 될만한 장점만 살펴보지요.


우선 무엇보다두 중요한 특성은 언어 독립적이라는 특성과 위치 투명성이라는 겁니다.


언어 독립적이라는 것은 언어에 구애받지 않고 COM을 작성할 수 있으며, 언어에 구애받지 않고,


COM을 사용할 수 있다는 겁니다. 주의하실건 이런 특징은 COM이 MS의 기술인 관계로


아직까지는 윈도우에서만 유효합니다. 윈도우 기반의 언어들(VC++, VB, Visual Foxpro, Delphi)등


등 윈도우에서 사용되는 대부분의 언어에서는 COM을 만들수도 사용할수도 있습니다. 보통은


VC++은 ATL이 제공되기때문에 주로 COM의 작성에 많이 사용되고, VB는 높은 생산성을 가지고


있기에 주로 COM을 이용하기는 합니다만 이들 언어들은 작성과 사용 두가지를 모두 사용할수 있


도록 제작되어 있습니다.


 실제로 제가 이전에 다니던 회사는 프로젝트를 수주하여 프로젝트를 완수하여 돈을 버는 형식의


회사였는데 프로젝트의 성격에 따라 특정 언어가 더 적합한 경우가 많았습니다. 단순 데이터베이스


작업의 경우에는 VB의 사용이 주효하였고, 그래픽처리가 많이 들어간 경우에는 VC++과 DirectX등


의 라이브러리 사용이 필요한 경우가 있었지요. 사실 프로젝트 성격에 따라 빠른 속도와 그래픽적


인 측면이나 데이터 전송등에 관한 부분은 VC++이 더 적당한 경우가 많고, 화면 UI나 데이터베이스


작성은 VB가 더 유리한 언어가 될수 있을겁니다. 언어독립적이라는 장점은 각 언어의 장점을 골라


서 사용할 수 있는 기반을 마련해준다는 의미를 가지고 있다고 할 수 있지요.


언어독립적이라는 또 하나의 장점은 높은 재사용성을 보장한다는 것입니다. 뒤에 COM의 장점을


자세히설명하는 과정에서 나오겠지만, 현재 사용할수 있는 이진파일(EXE,DLL,LIB)들은 이진파일


이기에 당연히 여러 언어에서 사용할 수 있겠지만 이들은 원칙적으로 객체단위의 재사용이 불가합


니다. 흔히 말하는 클래스를 이용한 DLL작성의 경우 MFC확장 DLL이 주된 경우인데, 이런 경우에


는 DLL과 함께 헤더파일을 제공해야 하기때문에 원칙적으로 C계열언어가 아니면 그 DLL을 사용할 수가 없습니다.


정규 DLL의 경우에는 기본적으로 함수만을 가져다 재사용할 수 있을뿐 클래스로부터 생성된 객체


를 사용한 프로그램 작성이 불가하지요.


너무 마구 대충 설명을 해 드렸네요 . 다음에는 COM의 장점중 위치 독립성에 대해 설명하겠습니

다.

반응형

+ Recent posts