오브젝트 유형은 오브젝트에 대한 스펙 파일에서 자체의 고유 유형 정의를 사용하여 C 구조에 생성됩니다. 유형 정의는 오브젝트를 표시하는 struct에 유형 별명을 도입합니다. 유형 이름은 접미부 없이 오브젝트 유형의 이름으로 구성됩니다. 예를 들어, B 오브젝트 유형에 대해 다음 구조 및 유형 정의가 생성됩니다.
typedef struct B B;
struct B {
/* data members of B */
};
/* operations of B */
B는 명시적 유형이므로, 다른 오브젝트를 B 관점에서 정의할 수 있습니다. 스펙 파일과 구현 파일 둘 다 오브젝트 유형에 대해 생성됩니다. 작성, 초기화, 정리 및 영구 삭제 오퍼레이션은 모두 다른 유형에 대해 자동으로 생성됩니다.
유형 B는 B를 소유하는 패키지에 대한 스펙 파일에 선언되지만 메모리는 B 유형의 오브젝트가 인스턴스화될 때까지 B에 대해 할당되지 않습니다.
오브젝트 유형은 시스템 초기화 시 정적으로, 또는 실행 중에 동적으로(기본값: 동적으로) 인스턴스화될 수 있습니다. 따라서 오브젝트 유형의 인스턴스는 시스템과 다른 수명 범위를 보유할 수 있습니다. 자세한 정보는 동적 메모리 할당의 내용을 참조하십시오.