구성 요소 개체 모델

COM(Microsoft Component Object Model)은 상호 작용할 수 있는 이진 소프트웨어 구성 요소를 만들기 위한 플랫폼 독립적, 분산된 개체 지향 시스템입니다. COM은 Microsoft의 OLE(복합 문서), ActiveX(인터넷 지원 구성 요소) 및 기타 구성 요소의 기본 기술입니다.

COM(따라서 모든 COM 기반 기술)을 이해하려면 개체 지향 언어가 아니라 표준이라는 것을 이해하는 것이 중요합니다. 또한 COM은 애플리케이션을 구성하는 방법을 지정하지 않습니다. 언어, 구조 및 구현 세부 정보는 애플리케이션 개발자에게 남습니다. 대신 COM은 COM 개체(COM 구성 요소 또는 때로는 단순히 개체라고도 함)가 다른 개체와 상호 작용할 수 있도록 하는 개체 모델 및 프로그래밍 요구 사항을 지정합니다. 이러한 개체는 다른 프로세스에서 단일 프로세스 내에 있을 수 있으며 원격 컴퓨터에 있을 수도 있습니다. 다른 언어로 작성할 수 있으며 구조적으로 매우 유사할 수 있으므로 COM을 이진 표준이라고 합니다. 프로그램이 이진 머신 코드로 변환된 후에 적용되는 표준입니다.

COM의 유일한 언어 요구 사항은 코드가 포인터의 구조를 만들고 명시적으로 또는 암시적으로 포인터를 통해 함수를 호출할 수 있는 언어로 생성된다는 것입니다. C++ 및 Smalltalk와 같은 개체 지향 언어는 COM 개체의 구현을 간소화하는 프로그래밍 메커니즘을 제공하지만 C, Java 및 VBScript와 같은 언어를 사용하여 COM 개체를 만들고 사용할 수 있습니다.

COM은 COM 개체의 필수 특성을 정의합니다. 일반적으로 소프트웨어 개체는 데이터 집합과 데이터를 조작하는 함수로 구성됩니다. COM 개체는 하나 이상의 관련 함수 집합을 통해서만 개체의 데이터에 액세스할 수 있는 개체입니다. 이러한 함수 집합 을 인터페이스라고 하며 인터페이스의 함수를 메서드라고 합니다. 또한 COM을 사용하려면 인터페이스의 메서드에 대한 액세스 권한을 얻는 유일한 방법은 인터페이스에 대한 포인터를 사용하는 것입니다.

COM은 기본 이진 개체 표준을 지정하는 것 외에도 모든 COM 기반 기술에 공통적인 함수를 제공하는 특정 기본 인터페이스를 정의하고 모든 구성 요소에 필요한 소수의 함수를 제공합니다. COM은 또한 분산 환경에서 개체가 함께 작동하는 방식을 정의하고 시스템 및 구성 요소 무결성을 제공하는 데 도움이 되는 보안 기능을 추가했습니다.

이 섹션의 다음 topics COM 개체 디자인과 관련된 기본 COM 문제에 대해 설명합니다.