상세 컨텐츠

본문 제목

[Java] UML 다이어그램 2️⃣ - 일반화, 실체화, 의존

Backend/Java

by hyeminyy 2023. 11. 5. 22:53

본문

728x90

클래스간의 관계

클래스 다이어그램의 주 목적은 클래스 간의 관계를 한 눈에 쉽게 보고 의존 관계를 파악하는 것에 있다.

그래서 클래스 다이어그램에서 가장 중요한 것이 클래스 간의 관계이다.

클래스 관계 종류

 

Generalization (일반화)

일반화는 부모 클래스와 자식 클래스간의 상속(Ingerit) 관계를 나타낸다.

일반화란, 서브 클래스가 주체가 되어 자식 클래스를 부모 클래스로 일반화 하는 것을 말하고

반대의 개념은 부모 클래스를 자식 클래스로 구체화(Specialize) 하는 것이다.

 

상속은 부모 클래스의 필드 및 메서드를 사용하며 구체화 하여 필드 및 메서드를 추가하거나

필요에 따라 메서드를 오버라이딩(overriding)하여 재정의 한다.

또는, 부모 클래스가 추상 클래스인 경우에는 인터페이스의 메서드 구현과 같이 추상 메서드를 반드시 오버라이딩 하여 구현해야한다.

 

클래스 사이에 실선을 연결하고 부모 클래스 쪽에 비어있는 삼각형으로 나타내고 extends 키워드를 사용하여 상속을 구현한다.

 

실체화 ( Realization )

실체화는 인터페이스의 spec(명세, 정의)만 있는 메서드를 오버라이딩하여 실제 기능으로 구현하는 것을 말한다.

실체화를 나타내는 방법은 2가지가 있다. 첫 번째는 인터페이스를 클래스 처럼 표기하고 <<interface>>추가 한다.

인터페이스와 클래스 사이의 실체관계는 점선과 인터페이스 쪽의 비어 있는 삼각형으로 연결한다.

두 번째는 인터페이스를 원으로 표기하고 인터페이스의 이름을 명시한다.

 

의존 (Dependency)

의존은 클래스 다이어그램에서 일반적으로 제일 많이 사용되는 관계로, 어떤 클래스가 다른 클래스를 참조하는 것을 말한다.

참조의 형태는 메서드 내에서 대상 클래스의 객체 생성, 객체 사용, 메서드 호출, 객체 리턴, 매개변수로

해당 객체를 받는 것 등을 말하며 해당 객체의 참조를 계속 유지하지는 않는다.

 

위와 같이 스테레오 타입으로 어떠한 목적의 의존인지 의미를 명확히 명시 할 수도 있다.

의존의 목적 또는 형태가 중요할 경우 사용할 수도 있다.

728x90

'Backend > Java' 카테고리의 다른 글

[Java] 변수 (Variable) 1️⃣  (1) 2023.11.15
[Java] JDBC 사용법  (0) 2023.11.13
[Java] 메모리 구조  (0) 2023.11.13
[Java] UML 다이어그램 3️⃣ - 연관, 집합, 합성  (0) 2023.11.07
[Java] UML 다이어그램 1️⃣  (0) 2023.11.04

관련글 더보기