강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

레드문님의 프로필 이미지
레드문

작성한 질문수

김영한의 실전 자바 - 기본편

섹션 13. 다형성과 설계 예제의 클래스 다이어그램 문의합니다

해결된 질문

작성

·

12

0

섹션 13. 다형성과 설계 예제의 클래스 다이어그램 문의합니다

92. 다형성 - 역할과 구현 예제1

Driver -> K3Car : 클래스 의존관계

 

94. 다형성 - 역할과 구현 예제3

Driver -> Car : 클래스 의존관계

 

의존 관계라고 표시 했는데 연관 관계로 표시 하는 게 더 정확하지 않나 해서 질문 해봅니다.

연관 관계이며, 의존 관계의 성격을 함께 갖고 있는 구조라고 보는 것이 더 맞는 표현이 아닌지 ?

아니면 제가 잘못 알고 있는지요 ?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 레드문님.

클래스 다이어그램에서의 의존 관계와 연관 관계의 차이에 대한 질문을 주셨군요. 이 두 가지 관계는 UML에서 자주 사용되는 개념으로 각각의 의미가 다릅니다.

  1. 의존 관계(Dependency): 의존 관계는 한 클래스가 다른 클래스의 기능을 잠깐 사용할 때 나타내는 관계입니다. 주로 메서드 내부에서 다른 클래스의 객체를 생성하거나 사용하는 경우를 의미합니다. 일시적인 관계로, 굳이 해당 클래스의 인스턴스가 지속적으로 필요하지는 않습니다.

  2. 연관 관계(Association): 연관 관계는 한 클래스의 인스턴스가 다른 클래스의 인스턴스를 필요로 하고, 그 관계가 지속적으로 유지되는 경우를 의미합니다. 주로 클래스의 속성으로 다른 클래스의 객체가 사용되는 경우를 가리킵니다. 이는 좀 더 강한 결합을 뜻하며, 의존 관계보다는 더 깊은 연결을 의미합니다.

강의 예제에 대한 구체적인 코드나 다이어그램이 언급되지 않았기에 정확한 판단은 어렵지만, 일반적으로 DriverCar의 관계는 지속적인 관계를 나타내므로 연관 관계일 가능성이 크지만, 만약 DriverCar를 특정 기능을 사용하기 위해 잠시 참조하는 식이라면 의존 관계로 표현하는 것이 맞습니다.

UML에서의 표현은 설계 의도와 클래스 간의 실제 관계에 따라 달라질 수 있습니다. 다형성과 관련된 예제에서는 보통 인터페이스를 통해 역할과 구현이 나뉘어지고, 의존 관계가 이런 다형성을 지원한다고 보시면 됩니다.

참고 링크:
- 다형성에 관련된 질문입니다
- 12. 다형성과 설계 NewCar에서 pressBrake() 기능을 추가한다면..

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

레드문님의 프로필 이미지
레드문

작성한 질문수

질문하기