λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

βœ”οΈ Etc.

[UML] 클래슀 λ‹€μ΄μ–΄κ·Έλž¨(Class Diagram)

UML의 μ’…λ₯˜ 쀑 클래슀 λ‹€μ΄μ–΄κ·Έλž¨(Class Diagram)에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄μž.

 

그전에, UML(Unified Modeling Language) μ΄λž€?

 

[UML]UML(Unified Modeling Language)μ΄λž€?

πŸ”₯ μ •μ˜ πŸ”₯ βœ”οΈ κ°œλ°œ μ‹œμŠ€ν…œμ„ μ΄ν•΄ν•˜κΈ° μ‰¬μš΄ ν˜•νƒœλ‘œ ν‘œν˜„ν•˜μ—¬ 기획자, 개발자, 아킀텍쳐가 효율적으둜 μ˜μ‚¬ μ†Œν†΅ ν•  수 있게 ν•΄μ£ΌλŠ” ν‘œμ€€ν™”λœ λͺ¨λΈλ§ μ–Έμ–΄ βœ”οΈ κ°μ²΄μ§€ν–₯적인 뢄석과 섀계

lxxyeon.tistory.com


1. 클래슀 λ‹€μ΄μ–΄κ·Έλž¨(Class Diagram) μ΄λž€?

βœ”οΈ μ‹œκ°„μ— 따라 λ³€ν•˜μ§€ μ•ŠλŠ” μ •μ  λͺ¨λΈλ§(κ°μ²΄λ“€μ˜ 곡톡 ꡬ쑰와 λ™μž‘λ“€μ„ μΆ”μƒν™”ν•œ 것)의 λŒ€ν‘œμ μΈ UML ꡬ쑰 λ‹€μ΄μ–΄κ·Έλž¨

βœ”οΈ 클래슀의 κ΅¬μ„±μš”μ†Œ(속성, ν•¨μˆ˜, λ³€μˆ˜) 및 ν΄λž˜μŠ€κ°„μ˜ 관계λ₯Ό ν‘œν˜„ν•˜λŠ” λ‹€μ΄μ–΄κ·Έλž¨

 


2. ν‘œκΈ°λ²•

μ‹œμŠ€ν…œμ˜ 클래슀 μΆ”μΆœ, 클래슀 κ΅¬μ„±μš”μ†Œ,  ν΄λž˜μŠ€κ°„ 관계λ₯Ό μ •μ˜ν•˜μ—¬ 클래슀 λ‹€μ΄μ–΄κ·Έλž¨ μž‘μ„±ν•œλ‹€.

 

1) 클래슀(Class) ν‘œκΈ°λ²•

ν΄λž˜μŠ€λŠ” 3개둜 κ΅¬λΆ„ν•˜μ—¬
맨 μƒλ‹¨μ—λŠ” 
ν΄λž˜μŠ€μ΄λ¦„

λ‘λ²ˆμ§Έμ—λŠ” 클래슀의 속성듀을

λ§ˆμ§€λ§‰μ—λŠ” 클래슀의 ν•¨μˆ˜, λ©”μ†Œλ“œλ“€μ„ λ‹€μŒκ³Ό 같은 ν˜•μ‹μœΌλ‘œ ν‘œμ‹œ.

 

2) 클래슀(Class) 관계 ν‘œκΈ°λ²•

클래슀 λ‹€μ΄μ–΄κ·Έλž¨ 관계 μ’…λ₯˜

 


2-1) μ—°κ΄€(Association)

βœ”οΈ ν΄λž˜μŠ€λ“€μ΄ κ΄€λ ¨λ˜μ–΄ μ—°κ²°λ˜μ–΄ μžˆμŒμ„ 의미.

βœ”οΈ 보톡 ν•œ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ ν΄λž˜μŠ€μ—μ„œ μ œκ³΅ν•˜λŠ” κΈ°λŠ₯을 μ‚¬μš©ν•˜λŠ” 상황일 λ•Œ ν‘œμ‹œ.

βœ”οΈ μ‹€μ„ μœΌλ‘œ ν‘œμ‹œν•˜κ³  단방ν–₯, μ–‘λ°©ν–₯, λ‹€λŒ€λ‹€ μ—°κ΄€ 관계λ₯Ό κ°–λŠ”λ‹€.

 


2-2) μΌλ°˜ν™”(Generalization)

βœ”οΈ 상속을 μ˜λ―Έν•˜λ©°, μŠˆνΌν΄λž˜μŠ€μ™€ μ„œλΈŒν΄λž˜μŠ€ κ°„μ˜ 관계λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

βœ”οΈ μ‹€μ„ μœΌλ‘œ ν‘œμ‹œν•˜κ³  슈퍼클래슀 μͺ½μœΌλ‘œ ν™”μ‚΄ν‘œκ°€ ν–₯ν•œλ‹€.

 


2-3) 의쑴(Dependency)

βœ”οΈ 관계듀쀑 κ°€μž₯ κ²°ν•©λ ₯이 μ•½ν•˜μ§€λ§Œ κ°€μž₯ 많이 μ‚¬μš©ν•˜λŠ” 관계.

βœ”οΈ ν•œ 클래슀의 λ³€κ²½μœΌλ‘œ 인해 λ‹€λ₯Έ 클래슀의 변경이 ν•„μš”ν•  수 μžˆλŠ” μ˜μ‘΄μ„±μ„ 의미.

βœ”οΈ 이 κ·Έλ¦Όμ—μ„œλŠ” Trailer ν΄λž˜μŠ€λ₯Ό λ§€κ°œλ³€μˆ˜λ‘œ μ‚¬μš©ν•˜κ±°λ‚˜ λ¦¬ν„΄κ°’μœΌλ‘œ λ°˜ν™˜ν•  λ•Œ μ‚¬μš©.

 


2-4) 싀체화(Realization)

βœ”οΈ interface에 μžˆλŠ” λ©”μ„œλ“œλ₯Ό μ˜€λ²„λΌμ΄λ”©ν•˜μ—¬ κ΅¬ν˜„ν•˜λŠ” 것.

βœ”οΈ μ μ„ μœΌλ‘œ ν‘œν˜„ν•˜κ³  μΈν„°νŽ˜μ΄μŠ€ μͺ½μœΌλ‘œ ν™”μ‚΄ν‘œκ°€ ν–₯ν•œλ‹€.

βœ”οΈ μΈν„°νŽ˜μ΄μŠ€λ„ 클래슀처럼 ν‘œκΈ°ν•˜κ³  κΈΈλŸ¬λ©§μ„ μ‚¬μš©ν•˜μ—¬ <<interface>>ν‘œμ‹œ.


βœ”οΈ μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨κ³Ό 클래슀 λ‹€μ΄μ–΄κ·Έλž¨ 크둜슀 체크 ν•„μˆ˜!

일반적으둜 μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨μ€ 클래슀 λ‹€μ΄μ–΄κ·Έλž¨ 기반으둜 μž‘μ„±λ˜κΈ° λ•Œλ¬Έμ— μž‘μ„± ν›„ ν΄λž˜μŠ€ λ‹€μ΄μ–΄ κ·Έλž¨κ³Ό 크둜슀 체크가 ν•„μš”ν•©λ‹ˆλ‹€.

μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨μ΄λž€?

 

[UML] μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨(Sequence Diagram)

UML의 μ’…λ₯˜ 쀑 μ‹œν€€μŠ€ λ‹€μ΄μ–΄κ·Έλž¨(Sequence Diagram)에 λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 그전에, UML(Unified Modeling Language) μ΄λž€? [UML]UML(Unified Modeling Language)μ΄λž€? πŸ”₯ μ •μ˜ πŸ”₯ βœ”οΈ κ°œλ°œ..

lxxyeon.tistory.com

 

728x90
λ°˜μ‘ν˜•