포트는 클래스와 환경 간 또는 클래스의 내부 파트와 클래스(의 동작) 간의 별개 상호작용 지점입니다.
클래스가 임베드된 환경에 독립적인 클래스를 지정하려면 포트를 사용하십시오. 클래스의 내부 파트를 환경에서 분리할 수 있으며, 환경을 클래스의 내부 파트에서 분리할 수도 있습니다.
포트가 가질 수 있는 인터페이스는 다음과 같습니다.
- 제공된 인터페이스 - 포트를 통해 환경에서 클래스로 수행될 수 있는 요청을 특징 짓습니다.
제공된 인터페이스는 롤리팝 또는 볼 표기법으로 표시됩니다.
- 필수 인터페이스 - 포트를 통해 클래스에서 환경(외부 오브젝트)으로 수행될 수 있는 요청을 특징 짓습니다.
필수 인터페이스는 소켓 표기법으로 표시됩니다.
다음 그림은 제공된 인터페이스(롤리팝 또는 볼) 및
필수 인터페이스(소켓)를 가진 포트(클래스 요소의 맨 아래 가장자리에 있는 작은 정사각형)가 있는 AbsHardware 클래스를 표시합니다.
이러한 인터페이스는 계약(자체가 제공된 인터페이스임)을 사용하여 지정됩니다.
자세한 정보는
포트 계약 지정의 내용을 참조하십시오.
포트가 동작이면, 제공된 인터페이스의 메시지가
소유자 클래스로 전달됩니다. 비동작이면,
메시지가 클래스의 내부 파트 중 하나로 전송됩니다. 이벤트가 서로 다른 포트에서 수신된 경우 클래스는
동일 유형의 이벤트를 구별할 수 있습니다.
참고: 이 제품은 파트 상호작용점을 지정하기 위한
UML 2 포트 사용법을 설명하는 홈 알람 보안 시스템을 표시하는 C++ 샘플 프로젝트(HomeAlarmWithPorts)를 제공합니다. <product installation folder>\Samples\CppSamples\의 내용을 참조하십시오.