다음 Java 코드에서 생략된 부분을 고려하지 않고 명시된 부분만으로 … | [7급 국가직 소프트웨어공학] 22년 1회차 기출문제 상세 페이지
1[7급 국가직 소프트웨어공학] 22년 1회차
다음 Java 코드에서 생략된 부분을 고려하지 않고 명시된 부분만으로 UML 클래스 다이어그램을 작성하였을 때, 다이어그램에 나타나지 않는 관계는?class Person { ... }
class Work { ... }
interface PublicService {
public void doWork(Work work);
}
class Official extends Person implements PublicService {
public void sayHello() { ... }
public void doWork(Work work) { ... }
...
}
1
[그림]
2
[그림]
3
[그림]
4
[그림]
해설
다이어그램에 나타나지 않는 관계는 속이 빈 마름모가 달린 실선, 즉 집약(aggregation)이다.
코드에는 Work 를 필드로 보관하는 등 전체-부분 관계가 없다. Work 는 doWork 메서드의 매개변수로만 쓰이므로 의존 관계로 그려진다.
- 점선 열린 화살표(의존): Official·PublicService 가 doWork(Work work) 의 매개변수로 Work 를 사용하므로 나타난다.
- 점선 빈 삼각형 화살표(실체화): Official 이 PublicService 인터페이스를 implements 하므로 나타난다.
- 실선 빈 삼각형 화살표(일반화): Official 이 Person 을 extends 하므로 나타난다.
오류나 개정된 내용이 보이면 알려주세요
