UML
Last updated
Last updated
: ๋ชจ๋ธ์ ๋ง๋๋ ํ์ค์ธ์ด, ๊ฐ์ฒด ์งํฅ ์ํํธ์จ์ด ์ง์ฝ ์์คํ ์ ๊ฐ๋ฐํ ๋ ์ฐ์ถ๋ฌผ์ ๋ช ์ธํ, ์๊ฐํ, ๋ฌธ์ํํ ๋ ์ฌ์ฉํ๋ค.
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ์ ํด๋นํ๋ค. ( ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ์ ์์คํ ์ ๊ฐ๋ , ๊ด๊ณ ๋ฑ์ ์ธก๋ฉด์์ ์์๋ค์ ๋ํ๋ด๊ณ ๊ฐ ์์๋ค์ ์ ์ ์ธ ๋ฉด์ ๋ณด๊ธฐ ์ํ ๊ฒ ) ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ํด๋์ค ๋ด๋ถ์ ์ ์ ์ธ ๋ด์ฉ์ด๋ ํด๋์ค ์ฌ์ด์ ๊ด๊ณ๋ฅผ ํ๊ธฐํ๋ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์์คํ ์ ์ผ๋ถ ๋๋ ์ ์ฒด์ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ผ ์ ์์ต๋๋ค. ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ์์กด ๊ด๊ณ๋ฅผ ๋ช ํํ ๋ณด๊ฒ ํด์ฃผ๋ฉฐ, ์ํ ์์กด์ด ๋ฐ์ํ๋ ์ง์ ์ ์ฐพ์๋ด์ ์ด๋ป๊ฒ ์ด ์ํ ๊ณ ๋ฆฌ๋ฅผ ๊นจ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์์ง ๊ฒฐ์ ํ ์ ์๊ฒ ํด์ค๋๋ค.
๋ถ๋ชจ ํด๋์ค์ ์์ ํด๋์ค๊ฐ์ ์์๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค. ์์ ํด๋์ค๊ฐ ์ฃผ์ฒด๊ฐ ๋์ด ๋ถ๋ชจ ํด๋์ค๋ฅผ Generalizationํ๋ ๊ฒ์ ๋งํ๋ค.
์ธํฐํ์ด์ค์ ๊ตฌํ๊ด๊ณ๋ก, ์ธํฐํ์ด์ค์ ๋ช ์ธ, ์ ์๋ง ์๋ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ ํ์ฌ ์ค์ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
์ผ๋ฐ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ด๊ณ๋ก์, ํ ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์ ๋งํ๋ค.
์ฐธ์กฐ์ ํํ๋ ๋ฉ์๋ ๋ด์์ ๋์ ํด๋์ค์ ๊ฐ์ฒด ์์ฑ, ๊ฐ์ฒด ์ฌ์ฉ, ๋ฉ์๋ ํธ์ถ, ๊ฐ์ฒด ๋ฆฌํด, ๋งค๊ฐ๋ณ์๋ก ํด๋น ๊ฐ์ฒด๋ฅผ ๋ฐ๋ ๊ฒ ๋ฑ์ ๋งํ๋ฉฐ ํด๋น ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฅผ ๊ณ์ ์ ์งํ์ง๋ ์์ต๋๋ค. ์ฆ, ์ผ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ ์ฑ๋ฆฝ๋๋ ๊ด๊ณ์ด๋ค.
โด๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์์ ๊ทธ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
โต๊ฐ์ฒด์ ๋ฉ์๋ ์์์ ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ์์ฑํด์ ๋ฆฌํดํ๋ค.
association์ ๋ณดํต ๋ค๋ฅธ ๊ฐ์ฒด์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง๋ ํ๋๋ฅผ ์๋ฏธํ๋ค.
๋จ๋ฐฉํฅ: ํด๋์ค๊ฐ์ ๊ด๊ณ๊ฐ "->" ์ด๋ ๊ฒ ๊ตฌํ์ด ๋๋ฉฐ, ํ์ดํ์ ๋์์ ์์ ์ ๊ฐ๋ฆฌํค๋ ํด๋์ค์ ์กด์ฌ์ฌ๋ถ๋ฅผ ์์ง ๋ชปํ๋ค.
์๋ฐฉํฅ: ํด๋์ค๊ฐ์ ๊ด๊ณ๊ฐ "-" ๋ก ๊ตฌํ๋๋ฉฐ ์๋ก ์ฐ๊ด์ด ๋์ด์๋ค.
์ถ์ฒ: http://hongjinhyeon.tistory.com/25 [์๊ฐ๋๋ก ์ด์ง ์์ผ๋ฉด ์ฌ๋๋๋ก ์๊ฐํ๋ค.]
์ ์ฒด์ ๋ถ๋ถ์ ๋ํ๋ธ๋ค. ์งํฉ์ ์๋ฏธ๋ฅผ ๋ดํฌํ๊ณ ์๋ค. Aggregation์ ์ ์ฒด ํด๋์ค๊ฐ ๋ถ๋ถ ํด๋์ค๋ฅผ newํ์ง ์๊ณ ์ธ๋ถ์์ ์ฃผ์ ๋ฐ๋๋ค.
Aggregation๊ณผ ๋น์ทํ๊ฒ whole(์ ์ฒด)์ part(๋ถ๋ถ)์ ์งํฉ ๊ด๊ณ๋ฅผ ๋ํ๋ด์ง๋ง ๊ฐ๋ ์ ์ผ๋ก Aggregation๋ณด๋ค ๋ ๊ฐํ ์งํฉ์ ์๋ฏธํ๋ค. Composition์ ์ ์ฒด๊ฐ ๋ถ๋ถ ํด๋์ค๋ฅผ ์ง์ new ํ์ฌ ์ฌ์ฉํ๋ค.
์ฌ๊ธฐ์ ๊ฐํ ์งํฉ์ด๋ ๋ถ๋ถ(part)์ด ์ ์ฒด(whole)์ ์ข ์์ ์ด์ด์ part๊ฐ whole์ ์์ ์ ๋๋ค. ๋ฐ๋ฉด Aggregation์ ๋ถ๋ถ(part)์ด ์ ์ฒด(whole)์ ๋ํด ๋ ๋ฆฝ์ ์ด์ด์ whole์ด part๋ฅผ ๋น๋ ค ์ฐ๋ ๊ฒ๊ณผ ๋น์ทํฉ๋๋ค. ์ด๋ฌํ ์๋ฏธ ๋๋ฌธ์ Aggregation๊ณผ๋ ๋ค๋ฅด๊ฒ ๋ช ํํ๊ฒ ๋ํ๋๋ ์ ์ด ์์ต๋๋ค.
์ฒซ ๋ฒ์งธ, part๋ฅผ ๊ฐ์ง๋ whole ์ธ์คํด์ค๊ฐ part ์ธ์คํด์ค์ ์ ์ฒด ์๋ช ์ ์ฑ ์์ง๋ค.
whole ์ธ์คํด์ค๊ฐ part ์ธ์คํด์ค๋ฅผ ์์ฑ
whole ์ธ์คํด์ค๊ฐ ์๋ฉธ๋๋ฉด part ์ธ์คํด์ค๋ ํจ๊ป ์๋ฉธ
whole ์ธ์คํด์ค๊ฐ ๋ณต์ฌ๋๋ฉด part ์ธ์คํด์ค๋ ํจ๊ป ๋ณต์ฌ
๋ ๋ฒ์งธ, part์ ํด๋นํ๋ ์ธ์คํด์ค๋ ๊ณต์ ๋ ์ ์๋ค.