내재적 유형의 오브젝트

내재적 유형의 오브젝트는 다른 오브젝트 정의에 다시 사용할 수 없는 단순한 오브젝트입니다. 내재적 유형은 순수한 오브젝트 중심 모델링과 다른 인스턴스 기본 모델링을 용이하게 합니다. 오브젝트 중심 모델링에서는 모든 구조적 엔티티가 기존 유형의 인스턴스여야 합니다. 이러한 필수 구조는 오브젝트 중심 시스템에서 유형/인스턴스 이분법이라고 합니다.

내재적 유형의 오브젝트의 경우 C 구조는 오브젝트의 이름과 접미부 "_t"로 생성됩니다. 유형은 오브젝트에 대해 정의되지 않습니다. 예를 들어, 내재적 유형의 A 오브젝트에 대한 스펙 파일에서 A_t C 구조가 생성됩니다. 이 오브젝트에는 다음과 같이 구조의 데이터 멤버로 생성되는 att1이라고 하는 하나의 속성이 있습니다.

struct A_t {
    /***    User-explicit entries    ***/
    int att1;      /*## attribute att1 */
};

오브젝트가 속하는 패키지에 대한 스펙 파일에서 오브젝트가 인스턴스화되고 메모리가 할당됩니다. 예를 들어, A 오브젝트가 속하는 Default 패키지에 대한 스펙 파일에서 다음 명령문이 생성됩니다.

struct A_t;
extern struct A_t A;

첫 번째 명령문은 구조 A_t의 선언이고, 두 번째는 struct A_tA 인스턴스에 대한 실제 정의 및 메모리 할당입니다.

참고: extern 키워드는 A가 여기에 선언되지만 다른 곳에 정의됨(한 번)을 표시합니다. 이와 같은 선언 다음에 오는 코드는 A를 참조할 수 있습니다. 동일한 extern 문이 다른 파일에 표시되는 경우 이 명령문은 동일한 A를 참조합니다.

IBM® Rational® Rhapsody®는 오브젝트 작성, 초기화, 정리 및 소멸을 처리하기 위해 자동으로 오퍼레이션을 생성합니다. 이 오퍼레이션은 C++에서 생성자 및 소멸자로 알려진 것과 유사합니다. 예를 들어, 다음 오퍼레이션이 A에 대해 자동으로 생성됩니다.

Create()Destroy() 오퍼레이션은 싱글톤의 경우 생성되지 않습니다. 자세한 정보는 싱글톤 오브젝트의 내용을 참조하십시오.


피드백