C/C++에서 특수 관계는 한 클래스가 다른 클래스에 개인용 데이터 영역에 액세스할 수 있는 권한을 부여하도록 합니다. 권한을 부여받은 클래스는 공유하는 클래스에 대한 동반자가 됩니다. 다른 클래스의 동반자인 클래스는 공유하는 클래스의 모든 데이터와 메소드에 액세스할 수 있습니다.
예를 들어, Customer 클래스가 Account 클래스에 고객에 대한 개인 정보를 사용할 수 있는 권한을 부여합니다. Account 클래스는 Customer 클래스의 동반자가 됩니다. 이 관계로 인해 Account 클래스는 Customer 클래스에 액세스할 수 있어서 타스크를 보다 쉽게 수행할 수 있습니다.
다음 표의 그림에 표시된 대로, 권한 관계는 공유하는 클래스의 개인용 데이터와 메소드에 액세스할 수 있는 권한이 있는 클래스 또는 동반자 클래스까지 가리키는, 여는 화살촉이 있는 클래스 사이의 점선 커넥터로 표시됩니다.
| C/C++ 소스 코드 | UML 시각화 |
![]() |
![]() |