Uml(unified modeling language)
UML์ ์ดํด: ํตํฉ ๋ชจ๋ธ๋ง ์ธ์ด ์๋ฒฝ ๊ฐ์ด๋
UML ๊ฐ์
UML(Unified Modeling Language)์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋๋ค:
- ๊ฐ์ฒด์งํฅ ๋ฐฉ๋ฒ๋ก ์ ์ฅ์ ์ ํตํฉ
- ํ์คํ๋ ๋ฒ์ฉ ๋ชจ๋ธ๋ง ์ธ์ด
- ์ํํ ์์ฌ์ํต์ ์ํด ๊ฐ๋ฐ
- ์ฌ๋ฌผ, ๊ด๊ณ, ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑ
UML ๊ตฌ์ฑ์์
์ฌ๋ฌผ
- ๋์์ ์๋ฏธ
- ์ฌ๋ฌผ์ ์ข
๋ฅ:
- ๊ตฌ์กฐ(๋ฌผ๋ฆฌ์ ์ธ ์์)
- ํ๋(ํ์)
- ๊ทธ๋ฃน(๊ทธ๋ฃนํ)
- ์ฃผํด(์ค๋ช , ์ฃผ์)
๊ด๊ณ
- ์ฌ๋ฌผ๊ณผ ์ฌ๋ฌผ์ ์ฐ๊ด์ฑ
- ์ฃผ์ ๊ด๊ณ:
- ์ฐ๊ด
- ์งํฉ
- ํฌํจ
- ์ผ๋ฐํ
- ์์กด
- ์ค์ฒดํ ๊ด๊ณ
- 6๊ฐ์ ์ ์ ๋ค์ด์ด๊ทธ๋จ, 7๊ฐ์ ๋์ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๊ตฌ์ฑ
์คํ ๋ ์ค ํ์
- ์๋ก์ด ์์๋ฅผ ๋ง๋ค์ด๋ด๋ ํ์ฅ ๊ตฌ์กฐ
<<>>
๊ธฐํธ๋ฅผ ์ฌ์ฉ- ์ฃผ์ ์ข
๋ฅ:
<<include>>
: ํฌํจ๊ด๊ณ<<extend>>
: ํ์ฅ๊ด๊ณ
๊ด๊ณ์ ์ข ๋ฅ
์ฐ๊ด๊ด๊ณ
- ์ง์์ ์ธ ์ฐธ์กฐ ๊ด๊ณ
- ํํ:
- ์ค์ ํ์ดํ (๋จ๋ฐฉํฅ)
- ์ค์ (์๋ฐฉํฅ)
- ๋ค์ค๋ ํ๊ธฐ:
*
: ์๊ฑฐ๋ ๋ค์n
: n๊ฐn,m
: ์ต์ n๊ฐ, ์ต๋ m๊ฐn..*
: n๊ฐ ์ด์
์งํฉ ๊ด๊ณ
- ์ฌ๋ฌผ(Part)์ด ๋ค๋ฅธ ์ฌ๋ฌผ(Whole)์ ํฌํจ๋๋ ๊ด๊ณ
- ํน์ง: ์๋ก ๋
๋ฆฝ์
- ์์: ์ปดํจํฐ๊ฐ ์์ด์ ธ๋ ๋ง์ฐ์ค๋ ์กด์ฌ ๊ฐ๋ฅ
- ํํ: ์ ์ฒด ์ฌ๋ฌผ ์ชฝ์ ์์ด ๋น ๋ง๋ฆ๋ชจ๋ฅผ ๋ถ์ธ ์ค์
ํฌํจ๊ด๊ณ
- ์ข
์์ ์ธ ํฌํจ ๊ด๊ณ
- ์์: ๋ง์ฐ์ค ๊ณ ์ฅ ์ ๋ง์ฐ์ค ๋ฆฌ์๋ฒ ์ฌ์ฉ ๋ถ๊ฐ
- ํํ: ์์ด ์ฐฌ ๋ง๋ฆ๋ชจ๋ฅผ ๋ถ์ธ ์ค์
์ผ๋ฐํ ๊ด๊ณ
- ์์/ํ์ ๊ด๊ณ
- ํน์ง:
- ์์ ์ฌ๋ฌผ: ์ผ๋ฐ์ ์ธ ์์ฑ
- ํ์ ์ฌ๋ฌผ: ๊ตฌ์ฒด์ ์ธ ์์ฑ
- ํํ: ์์ด ๋น ์ผ๊ฐ ์ค์ ํ์ดํ
- โํ์์ฌ๋ฌผ is kind of ์์ ์ฌ๋ฌผโ
- ์์: ๋ง์ฐ์ค๋ ์ ๋ ฅ์ฅ์น์ ํ ์ข ๋ฅ
์์กด ๊ด๊ณ
- ์ผ์์ ์ธ ๊ด๊ณ
- ํน์ง: ์ฌ๋ฌผ์ ๋ณํ๊ฐ ๊ด๊ณ๋ ์ฌ๋ฌผ์ ์ํฅ
- ํํ: ์ํฅ์ ๋ฐ๋ ์ฌ๋ฌผ ์ชฝ์ผ๋ก ์ ์ ํ์ดํ
- ์์: ๊ณ ๊ฐ ํน์ฑ์ ๋ฐ๋ฅธ ์ฌ์ํ ์ง๊ธ ์ฌ๋ถ
์ค์ฒดํ ๊ด๊ณ
- ๊ณตํต ๊ธฐ๋ฅ์ ์์ ์ฌ๋ฌผ๋ก ๊ทธ๋ฃนํ
- ํํ: ์์ ์ฌ๋ฌผ ์ชฝ์ ์์ด ๋น ์ผ๊ฐ ์ ์ ํ์ดํ
- โํ์ ์ฌ๋ฌผ can do ์์ ์ฌ๋ฌผโ
- ์์: ์ปดํจํฐ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์
- ๊ตฌ๋ถ:
- ์ผ๋ฐํ = ๊ณตํต ์์ฑ์ ๋ฌถ์ ๊ฒ
- ์ค์ฒดํ = ๊ณตํต ๊ธฐ๋ฅ์ ๋ฌถ์ ๊ฒ
๊ตฌ์กฐ์ ๋ค์ด์ด๊ทธ๋จ
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ
๊ตฌ์ฑ์์:
- ํด๋์ค๋ช
- ์์ฑ
- ์ฐ์ฐ
- ์ ๊ทผ ์ ์ด์:
-
: private+
: public#
: protected~
: default
๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ ํํ
- ํน์ ์์ ์ ์์คํ ๊ตฌ์กฐ ํ์
์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ
- ๊ตฌํ๋จ๊ณ์์ ์ฌ์ฉ
- ์ปดํฌ๋ํธ ๊ฐ์ ๊ตฌ์ฑ ํํ
๋ฐฐ์น ๋ค์ด์ด๊ทธ๋จ
- ๊ตฌํ๋จ๊ณ์์ ์ฌ์ฉ
- ๋ ธ๋, ์ปดํฌ๋ํธ ๋ฑ ๋ฌผ๋ฆฌ์ ์ํคํ ์ฒ ํํ
๋ณตํฉ์ฒด ๊ตฌ์กฐ ๋ค์ด์ด๊ทธ๋จ
- ๋ณตํฉ์ฒด์ ๋ณตํฉ์ ์ธ ๋ด๋ถ ๊ตฌ์กฐ ํํ
ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
- ํจํค์ง๊ฐ์ ๊ตฌ์กฐ ์์กด๊ด๊ณ ํํ
ํ์ ๋ค์ด์ด๊ทธ๋จ
๋์ ์ธ ์ํธ์์ฉ๊ณผ ํ๋ฆ์ ๋ํ๋ด๋ ๋ค์ด์ด๊ทธ๋จ์ ๋๋ค.
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ
- ๊ธฐ๋ฅ ์ค์ฌ์ ๋ชจ๋ธ๋ง
์ํ์ค ๋ค์ด์ด๊ทธ๋จ
- ์์ฑ๊ณผ ์๋ฉธ, ๋ฉ์์ง๋ฅผ ํํ
- ๊ตฌ์ฑ์์:
- ์๋ช ์
- ์คํ
- ๋ฉ์์ง
- ๊ฐ์ฒด
- ์๊ฐ ํ๋ฆ์ ์์์ ์๋๋ก ํํ
ํต์ ๋ค์ด์ด๊ทธ๋จ
- ์ํ์ค ๋ค์ด์ด๊ทธ๋จ + ๊ฐ์ฒด๋ค์ ์ฐ๊ด ๋จ๊ณ
์ํ ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด์ ์ด๋ฒคํธ ํ์ฑ์ ๋ฐ๋ฅธ ์ํ ๋ณํ ํํ
- ํน์ ๊ธฐ๊ฐ ํน์ ๊ฐ์ฒด๋ฅผ ๋์์ผ๋ก ํํ
- ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ ํน์ ๊ธฐ๊ฐ ํํ
ํ๋ ๋ค์ด์ด๊ทธ๋จ
- ํ๋ฆ๋์ ์ ์ฌ
- ๊ฐ์ฒด์ ํ๋ก์ธ์ค๋ ๋ก์ง์ ์ฒ๋ฆฌ ํ๋ฆ์ ์์๋๋ก ํํ
์ํธ์์ฉ ๋ค์ด์ด๊ทธ๋จ
- ๋ค์ด์ด๊ทธ๋จ ์ฌ์ด์ ์ ์ด ํ๋ฆ ํํ
- ํฌํจ ๋ค์ด์ด๊ทธ๋จ:
- ์ํ์ค
- ํต์
- ํ์ด๋ฐ
- ์ํธ์์ฉ
- ๊ฐ์ ๋ค์ด์ด๊ทธ๋จ
ํ์ด๋ฐ ๋ค์ด์ด๊ทธ๋จ
- ๊ฐ์ฒด์ ์ํ ๋ณํ์ ์๊ฐ ์ ์ฝ์ ๋ช ์์ ์ผ๋ก ํํ