UML

UML(Unified Modeling Language)

: ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ํ‘œ์ค€์–ธ์–ด, ๊ฐ์ฒด ์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด ์ง‘์•ฝ ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฐ์ถœ๋ฌผ์„ ๋ช…์„ธํ™”, ์‹œ๊ฐํ™”, ๋ฌธ์„œํ™”ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

Class Diagram

ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ์— ํ•ด๋‹นํ•œ๋‹ค. ( ๊ตฌ์กฐ ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋…, ๊ด€๊ณ„ ๋“ฑ์˜ ์ธก๋ฉด์—์„œ ์š”์†Œ๋“ค์„ ๋‚˜ํƒ€๋‚ด๊ณ  ๊ฐ ์š”์†Œ๋“ค์˜ ์ •์ ์ธ ๋ฉด์„ ๋ณด๊ธฐ ์œ„ํ•œ ๊ฒƒ ) ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ์ •์ ์ธ ๋‚ด์šฉ์ด๋‚˜ ํด๋ž˜์Šค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ‘œ๊ธฐํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ์‹œ์Šคํ…œ์˜ ์ผ๋ถ€ ๋˜๋Š” ์ „์ฒด์˜ ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์€ ์˜์กด ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํžˆ ๋ณด๊ฒŒ ํ•ด์ฃผ๋ฉฐ, ์ˆœํ™˜ ์˜์กด์ด ๋ฐœ์ƒํ•˜๋Š” ์ง€์ ์„ ์ฐพ์•„๋‚ด์„œ ์–ด๋–ป๊ฒŒ ์ด ์ˆœํ™˜ ๊ณ ๋ฆฌ๋ฅผ ๊นจ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€์ง€ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

ํด๋ž˜์Šค๊ด€๊ณ„

1. Generalization

๋ถ€๋ชจ ํด๋ž˜์Šค์™€ ์ž์‹ ํด๋ž˜์Šค๊ฐ„์˜ ์ƒ์†๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ์ฃผ์ฒด๊ฐ€ ๋˜์–ด ๋ถ€๋ชจ ํด๋ž˜์Šค๋ฅผ Generalizationํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

generalization

2. Realization

์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„๊ด€๊ณ„๋กœ, ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ช…์„ธ, ์ •์˜๋งŒ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•˜์—ฌ ์‹ค์ œ ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

realization

3. Dependency

์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๊ด€๊ณ„๋กœ์„œ, ํ•œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

dependency

์ฐธ์กฐ์˜ ํ˜•ํƒœ๋Š” ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ๋Œ€์ƒ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด ์ƒ์„ฑ, ๊ฐ์ฒด ์‚ฌ์šฉ, ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ, ๊ฐ์ฒด ๋ฆฌํ„ด, ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ๋ฐ›๋Š” ๊ฒƒ ๋“ฑ์„ ๋งํ•˜๋ฉฐ ํ•ด๋‹น ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ๊ณ„์† ์œ ์ง€ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ์„ฑ๋ฆฝ๋˜๋Š” ๊ด€๊ณ„์ด๋‹ค.

  • โ‘ด๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์•„์„œ ๊ทธ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • โ‘ต๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ๋‹ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์„œ ๋ฆฌํ„ดํ•œ๋‹ค.

4. Association

association์€ ๋ณดํ†ต ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ํ•„๋“œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • ๋‹จ๋ฐฉํ–ฅ: ํด๋ž˜์Šค๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ "->" ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„์ด ๋˜๋ฉฐ, ํ™”์‚ดํ‘œ์˜ ๋Œ€์ƒ์€ ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ํด๋ž˜์Šค์˜ ์กด์žฌ์—ฌ๋ถ€๋ฅผ ์•Œ์ง€ ๋ชปํ•œ๋‹ค.

  • ์–‘๋ฐฉํ–ฅ: ํด๋ž˜์Šค๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ "-" ๋กœ ๊ตฌํ˜„๋˜๋ฉฐ ์„œ๋กœ ์—ฐ๊ด€์ด ๋˜์–ด์žˆ๋‹ค.

์ถœ์ฒ˜: http://hongjinhyeon.tistory.com/25 [์ƒ๊ฐ๋Œ€๋กœ ์‚ด์ง€ ์•Š์œผ๋ฉด ์‚ฌ๋Š”๋Œ€๋กœ ์ƒ๊ฐํ•œ๋‹ค.]

association

5. Aggregation

์ „์ฒด์™€ ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ง‘ํ•ฉ์˜ ์˜๋ฏธ๋ฅผ ๋‚ดํฌํ•˜๊ณ  ์žˆ๋‹ค. Aggregation์€ ์ „์ฒด ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ถ„ ํด๋ž˜์Šค๋ฅผ newํ•˜์ง€ ์•Š๊ณ  ์™ธ๋ถ€์—์„œ ์ฃผ์ž…๋ฐ›๋Š”๋‹ค.

aggregation

6. Composition

Aggregation๊ณผ ๋น„์Šทํ•˜๊ฒŒ whole(์ „์ฒด)์™€ part(๋ถ€๋ถ„)์˜ ์ง‘ํ•ฉ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด์ง€๋งŒ ๊ฐœ๋…์ ์œผ๋กœ Aggregation๋ณด๋‹ค ๋” ๊ฐ•ํ•œ ์ง‘ํ•ฉ์„ ์˜๋ฏธํ•œ๋‹ค. Composition์€ ์ „์ฒด๊ฐ€ ๋ถ€๋ถ„ ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ new ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.

composition

์—ฌ๊ธฐ์„œ ๊ฐ•ํ•œ ์ง‘ํ•ฉ์ด๋ž€ ๋ถ€๋ถ„(part)์ด ์ „์ฒด(whole)์— ์ข…์†์ ์ด์–ด์„œ part๊ฐ€ whole์˜ ์†Œ์œ ์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Aggregation์€ ๋ถ€๋ถ„(part)์ด ์ „์ฒด(whole)์— ๋Œ€ํ•ด ๋…๋ฆฝ์ ์ด์–ด์„œ whole์ด part๋ฅผ ๋นŒ๋ ค ์“ฐ๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜๋ฏธ ๋•Œ๋ฌธ์— Aggregation๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ช…ํ™•ํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฒซ ๋ฒˆ์งธ, part๋ฅผ ๊ฐ€์ง€๋Š” whole ์ธ์Šคํ„ด์Šค๊ฐ€ part ์ธ์Šคํ„ด์Šค์˜ ์ „์ฒด ์ˆ˜๋ช…์„ ์ฑ…์ž„์ง„๋‹ค.

    • whole ์ธ์Šคํ„ด์Šค๊ฐ€ part ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ

    • whole ์ธ์Šคํ„ด์Šค๊ฐ€ ์†Œ๋ฉธ๋˜๋ฉด part ์ธ์Šคํ„ด์Šค๋„ ํ•จ๊ป˜ ์†Œ๋ฉธ

    • whole ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ณต์‚ฌ๋˜๋ฉด part ์ธ์Šคํ„ด์Šค๋„ ํ•จ๊ป˜ ๋ณต์‚ฌ

  • ๋‘ ๋ฒˆ์งธ, part์— ํ•ด๋‹นํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋Š” ๊ณต์œ  ๋  ์ˆ˜ ์—†๋‹ค.

์ •๋ฆฌ

์ฐธ์กฐ๋งํฌ

Last updated

Was this helpful?