Java/Java 이둠

UML Symbol(클래슀 κ°„μ˜ 관계)

vividswan 2022. 3. 13. 02:03

UML Symbol

UMLμ—μ„œ 클래슀 λ‹€μ΄μ–΄κ·Έλž¨μ„ λ‚˜νƒ€λ‚Ό λ•Œ, 클래슀 κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜λŠ” UML Symbol을 μ•Œμ•„λ³΄μž.

클래슀 λ‹€μ΄μ–΄κ·Έλž¨

UML의 ꡬ쑰 λ‹€μ΄μ–΄κ·Έλž¨ 쀑 클래슀의 논리적인 ꡬ쑰λ₯Ό μ •μ μœΌλ‘œ ν‘œν˜„ν•˜λŠ” κ²ƒμœΌλ‘œ, ν΄λž˜μŠ€λ“€ κ°„μ˜ 관계λ₯Ό 클래슀 λ‹€μ΄μ–΄κ·Έλž¨μœΌλ‘œ λ³Ό 수 μžˆλ‹€.

UML Symbol

좜처 : http://www.ivencia.com

μ΄λ―Έμ§€μ˜ μˆœμ„œλŒ€λ‘œ UML Symbol을 μ‚΄νŽ΄λ³΄μž.

μ—°κ΄€ 관계 : 두 ν΄λž˜μŠ€κ°€ μ—°κ΄€(일반적으둜 ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό μ‚¬μš©ν•  λ•Œ) λ˜μ–΄ μžˆμ„ λ•ŒλŠ” μœ„μ™€ 같이 ν‘œν˜„ν•œλ‹€. μ˜μ‘΄κ΄€κ³„μ™€λŠ” λ‹€λ₯΄κ²Œ 였랜 κΈ°κ°„ 두 객체가 ν˜‘λ ₯관계λ₯Ό μˆ˜ν–‰ν•  λ•Œ μ—°κ΄€ κ΄€κ³„λ‘œ λΆ„λ₯˜ν•œλ‹€.

의쑴 관계 : μ—°κ΄€ 관계와 ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό μ‚¬μš©ν•  λ•ŒμΈ 것은 κ°™μœΌλ‚˜, μ—°κ΄€ κ΄€κ³„μ™€λŠ” λ‹€λ₯΄κ²Œ 두 객체가 였랜 κΈ°κ°„ ν˜‘λ ₯ 관계λ₯Ό μˆ˜ν–‰ν•˜λŠ” 것이 μ•„λ‹Œ ν˜‘λ ₯ 관계가 맀번 λ‹¬λΌμ§ˆ λ•Œ 의쑴 κ΄€κ³„λ‘œ λΆ„λ₯˜ν•˜λ©°, μœ„μ™€ 같이 λ‚˜νƒ€λ‚Έλ‹€.


μΌλ°˜ν™” 관계 : μΌλ°˜ν™” 관계(ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ 클래슀λ₯Ό ν¬ν•¨ν•˜λŠ” μƒμœ„ κ°œλ…)일 λ•Œμ˜ ν‘œμ‹œλ₯Ό μœ„μ™€ 같이 ν•  수 있으며, ν™”μ‚΄ν‘œλŠ” μƒμœ„ 클래슀λ₯Ό κ°€λ¦¬μΌœμ•Ό ν•œλ‹€.


μΈν„°νŽ˜μ΄μŠ€μ™€ 싀체화 κ΄€κ³„μ˜ 또 λ‹€λ₯Έ ν‘œν˜„ : μœ„μ™€ 같은 ν‘œν˜„μ„ 싀체화 관계λ₯Ό ν‘œν˜„ν•  μˆ˜λ„ μžˆλ‹€. ν˜Ήμ€ κ°€μž₯ μƒλ‹¨μ˜ 그림처럼 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μž‘μ€ μ›ν˜•μœΌλ‘œ ν‘œν˜„ν•œ ν›„ μ‹€μ„ μœΌλ‘œ 싀체화 클래슀λ₯Ό μ΄μ–΄μ£ΌλŠ” ν‘œν˜„λ„ κ°€λŠ₯ν•˜λ‹€.


μ—°κ΄€ κ΄€κ³„μ—μ„œμ˜ λ°©ν–₯μ„± ν‘œμ‹œ : 연관관계 쀑 단방ν–₯ 연관관계λ₯Ό μœ„μ™€ 같이 ν‘œμ‹œν•  수 μžˆλ‹€. 단방ν–₯ μ—°κ΄€κ΄€κ³„λŠ” μžμ‹ μ—κ²Œ ν–₯ν•˜λŠ” 클래슀의 쑴재λ₯Ό λͺ¨λ₯΄κ³ , λ‹€λ₯Έ ν•œμͺ½λ§Œ 쑴재λ₯Ό μ•Œ 수 μžˆλ‹€.


집약 관계 : 집합 관계 쀑 ν•˜λ‚˜λ‘œμ¨ 전체 객체와 λΆ€λΆ„ 객체의 생λͺ…μ£ΌκΈ°κ°€ λ‹€λ₯Ό λ•Œ 집약 κ΄€κ³„λ‘œ μ •μ˜ν•˜κ³  μœ„μ™€ 같이 ν‘œν˜„ν•œλ‹€.


ν•©μ„± 관계 : 집합 관계 쀑 ν•˜λ‚˜λ‘œμ¨ 전체 객체와 λΆ€λΆ„ 객체의 생λͺ…μ£ΌκΈ°κ°€ 같을 λ•Œ ν•©μ„± κ΄€κ³„λ‘œ μ •μ˜ν•˜κ³  μœ„μ™€ 같이 ν‘œν˜„ν•œλ‹€.