C/C++ 도메인 모델링 클래스 다이어그램의 권한 관계

C/C++ 도메인 모델링 클래스 다이어그램에서, 권한 관계는 다른 클래스가 캡슐화된 속성이나 오퍼레이션을 볼 수 있게 한 클래스가 허용하는 관계입니다.

C/C++에서 특수 관계는 한 클래스가 다른 클래스에 개인용 데이터 영역에 액세스할 수 있는 권한을 부여하도록 합니다. 권한을 부여받은 클래스는 공유하는 클래스에 대한 동반자가 됩니다. 다른 클래스의 동반자인 클래스는 공유하는 클래스의 모든 데이터와 메소드에 액세스할 수 있습니다.

예를 들어, Customer 클래스가 Account 클래스에 고객에 대한 개인 정보를 사용할 수 있는 권한을 부여합니다. Account 클래스는 Customer 클래스의 동반자가 됩니다. 이 관계로 인해 Account 클래스는 Customer 클래스에 액세스할 수 있어서 타스크를 보다 쉽게 수행할 수 있습니다.

주: C/C++의 권한 관계는 데이터 캡슐화를 피하기 때문에 이로 인해 단일 또는 복수 클래스의 디자인이 의도한 대로 되지 않을 수 있습니다. C/C++의 동반자는 주의해서 사용해야 합니다.

다음 표의 그림에 표시된 대로, 권한 관계는 공유하는 클래스의 개인용 데이터와 메소드에 액세스할 수 있는 권한이 있는 클래스 또는 동반자 클래스까지 가리키는, 여는 화살촉이 있는 클래스 사이의 점선 커넥터로 표시됩니다.

C/C++ 소스 코드 UML 시각화
권한 관계를 설명하는 C/C++ 코드의 스냅샷. A C/C++ permission relationship is displayed.

피드백