해결된 질문
작성
·
12
0
섹션 13. 다형성과 설계 예제의 클래스 다이어그램 문의합니다
92. 다형성 - 역할과 구현 예제1
Driver -> K3Car : 클래스 의존관계
94. 다형성 - 역할과 구현 예제3
Driver -> Car : 클래스 의존관계
의존 관계라고 표시 했는데 연관 관계로 표시 하는 게 더 정확하지 않나 해서 질문 해봅니다.
연관 관계이며, 의존 관계의 성격을 함께 갖고 있는 구조라고 보는 것이 더 맞는 표현이 아닌지 ?
아니면 제가 잘못 알고 있는지요 ?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 레드문님.
클래스 다이어그램에서의 의존 관계와 연관 관계의 차이에 대한 질문을 주셨군요. 이 두 가지 관계는 UML에서 자주 사용되는 개념으로 각각의 의미가 다릅니다.
의존 관계(Dependency): 의존 관계는 한 클래스가 다른 클래스의 기능을 잠깐 사용할 때 나타내는 관계입니다. 주로 메서드 내부에서 다른 클래스의 객체를 생성하거나 사용하는 경우를 의미합니다. 일시적인 관계로, 굳이 해당 클래스의 인스턴스가 지속적으로 필요하지는 않습니다.
연관 관계(Association): 연관 관계는 한 클래스의 인스턴스가 다른 클래스의 인스턴스를 필요로 하고, 그 관계가 지속적으로 유지되는 경우를 의미합니다. 주로 클래스의 속성으로 다른 클래스의 객체가 사용되는 경우를 가리킵니다. 이는 좀 더 강한 결합을 뜻하며, 의존 관계보다는 더 깊은 연결을 의미합니다.
강의 예제에 대한 구체적인 코드나 다이어그램이 언급되지 않았기에 정확한 판단은 어렵지만, 일반적으로 Driver
와 Car
의 관계는 지속적인 관계를 나타내므로 연관 관계일 가능성이 크지만, 만약 Driver
가 Car
를 특정 기능을 사용하기 위해 잠시 참조하는 식이라면 의존 관계로 표현하는 것이 맞습니다.
UML에서의 표현은 설계 의도와 클래스 간의 실제 관계에 따라 달라질 수 있습니다. 다형성과 관련된 예제에서는 보통 인터페이스를 통해 역할과 구현이 나뉘어지고, 의존 관계가 이런 다형성을 지원한다고 보시면 됩니다.
참고 링크:
- 다형성에 관련된 질문입니다
- 12. 다형성과 설계 NewCar에서 pressBrake() 기능을 추가한다면..
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.