클래스는 개념이나 물리적인 것의 추상을 표시하는 반면 오브젝트는 구체적 엔티티를 표시합니다. 오브젝트에는 잘 정의된 경계가 있으며 오브젝트는 응용프로그램에서 의미가 있습니다. 오브젝트에는 다음 표에 나열된 특성이 있습니다.
| 특성 | 설명 |
|---|---|
| 상태 | 상태는 오브젝트가 존재할 수 있는 조건입니다. 오브젝트의 상태는 속성 세트로 구현되며 일반적으로 시간이 지나면 변경됩니다. |
| 동작 | 동작은 오브젝트가 다른 오브젝트의 요청에 응답하는 방식을 결정합니다. 동작은 오퍼레이션 세트로 구현됩니다. |
| ID | 오브젝트의 ID는 오브젝트를 고유하게 만듭니다. 오브젝트의 고유 ID를 사용하여 각 인스턴스에 동일한 상태가 있는 경우 클래스의 여러 인스턴스를 구별할 수 있습니다. |
각 오브젝트에는 고유 이름이 있습니다. 완전한 오브젝트 이름은 세 가지 파트 즉, 오브젝트 이름, 역할 이름 및 클래스 이름으로 이루어집니다. 오브젝트 이름을 지정할 때 이 파트를 조합하여 사용할 수 있습니다. 다음 표는 온라인 쇼핑 시스템의 여러 오브젝트 이름 변형을 보여줍니다.
| 구문 | 예제 | 설명 |
|---|---|---|
| 오브젝트/역할:클래스 | cart100/storage:cart | cart 클래스의 이름 지정된 인스턴스(cart100)는 상호작용 중 저장영역의 역할을 수행합니다. |
| 오브젝트:클래스 | cart100:cart | cart 클래스의 이름 지정된 인스턴스(cart100) |
| /역할:클래스 | /storage:cart | 상호작용에서 저장영역의 역할을 수행하는 cart 클래스의 익명 인스턴스. |
| 오브젝트/역할 | cart/storage | 저장영역 역할을 수행하는 cart라는 이름의 오브젝트. 이 오브젝트는 클래스의 이름을 숨기는 오브젝트 또는 클래스와 연관되지 않은 인스턴스입니다. |
| 오브젝트 | cart100 | cart100이라는 이름의 오브젝트. 이 오브젝트는 클래스의 이름을 숨기는 인스턴스 또는 클래스와 연관되지 않은 인스턴스입니다. |
| /역할 | /storage | 저장영역 역할을 수행하는 익명 인스턴스. 이 오브젝트는 오브젝트의 이름을 숨기는 인스턴스 또는 클래스나 오브젝트와 연관되지 않은 인스턴스입니다. |
| :클래스 | :cart | customer 클래스의 익명 인스턴스. |
다음 표는 세 가지 유형의 오브젝트를 나열합니다.
| 오브젝트 유형 | 설명 |
|---|---|
| 활성 | 활성 오브젝트는 제어 스레드를 소유하며 제어 활동을 시작할 수 있습니다. 프로세스 및 타스크가 활성 오브젝트의 유형입니다. |
| 수동 | 수동 오브젝트는 데이터를 보유하지만 제어를 시작하지 않습니다. |
| 복수 인스턴스 | 오브젝트 콜렉션 또는 동일한 클래스의 복수 인스턴스입니다. 복수 인스턴스는 일반적으로 오브젝트 세트가 단일 메시지(또는 자극)와 상호작용하는 오브젝트 세트임을 표시하는 데 사용됩니다. |