์๋ ํ์ธ์!
์ด๋ฒ ํฌ์คํ ์์๋ ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ๋ํด์ ์์๋ณด๊ณ , ๊ทธ ํด๋์ค ๊ฐ์ ๋ ผ๋ฆฌ์ /๋ฌผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ์ฐ๊ด ๊ด๊ณ์ ์ข ๋ฅ์ ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ์์์ ํ์ดํ ๋ฑ ํํ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ๋ถ์
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ์ ํด๋์ค ๋ค์(Class name)๊ณผ ์ดํธ๋ฆฌ๋ทฐํธ ๊ทธ๋ฆฌ๊ณ ์คํผ๋ ์ด์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์ธ ๊ฐ์ง๊ฐ ๋ค์ด์ด๊ทธ๋จ์ ๊ตฌ์ฑ ์์๋ก ์กด์ฌํ๊ณ ํด ๋์ค ๋ค์, ์ดํธ๋ฆฌ๋ทฐํธ, ์คํผ๋ ์ด์ ์์ผ๋ก ์์์ ์๋๋ก ๋ฐฐ์น๋๋ค.
์ดํธ๋ฆฌ๋ทฐํธ๋ ์์ฑ, ์คํผ๋ ์ด์ ์ ๊ทธ ์์ฑ๋ค๋ก ์ํํ ํจ์๋ผ๊ณ ์๊ฐํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
ํด๋์ค ๊ฐ์ ์ฐ๊ด
์ฐ๊ด์ ํด๋์ค ๊ฐ์ ๋ ผ๋ฆฌ์ /๋ฌผ๋ฆฌ์ ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค. ์ ๊ณผ ์ ๋์ ๋จธ๋ฆฌ ๋ชจ์์ ํตํด ๊ด๊ณ๋ฅผ ๊ตฌ๋ถํ๋ค.
1. Dependency ์์กด ์ฐ๊ด ๊ด๊ณ
ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค์์ ์์กด์ฑ์ ๊ฐ์ง๊ณ ์๋ ๊ฒฝ์ฐ ์์กด ํด๋์ค์ ์ํ ๋ณ ํ๋, ์ฆ ์ด๋ฅผ ์ฐธ์กฐํ๊ณ ์๋ ํด๋์ค์ ์ํ ๋ณํ(์์กด)๋ฅผ ์๋ฏธํ๋ค.
2. Association / Directed Association ์ฐ๊ด ๊ด๊ณ / ์ง์ ์ฐ๊ด ๊ด๊ณ
Association์ ๊ฐ์ฒด ๊ฐ์ ์ฐ๊ด ๊ด๊ณ๋ฅผ ๋ํ๋ธ๋ค. ๊ฐ์ฒด ์งํฅ์์ Association ์ ๋ณดํต ์ธ์คํด์ค ๋ณ์๋ก์ ์ฐธ์กฐ๋ฅผ ์๋ฏธํ๋ค. ์ฆ, ์๋ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์ดํธ๋ฆฌ๋ทฐํธ๋ก ๊ฐ์ง ๋ Association Relationship(์ฐ๊ด ๊ด๊ณ)์ด ์๋ค๊ณ ํ๋ค. ์ด๋์ ๊ด๊ณ๋ ๋ช ๋ฃํ ๋ชจ๋ธ๋ง์ ํ์๋ก ํ๋ฉฐ, ๋ณดํต ์๋ฐฉํฅ์ฑ์ ๋ํ๋ด๋ Association(Standard)๊ณผ ๋จ๋ฐฉํฅ์ฑ์ ๋ํ๋ด๋ Directed Assocation์ด ์ฌ์ฉ ๋๋ ๊ฒ์ ํ์ธํ๋ค.
3. Aggregation ์งํฉ ์ฐ๊ด
Association ๊ฐ๋ ์์ ์กฐ๊ธ ๋ ํ์ฅ๋ ๊ฐ๋ ์ผ๋ก ์ ์ฒด์ ๋ถ๋ถ์ ๊ด๊ณ๋ฅผ ๋ํ ๋ธ๋ค. ๋ ๊ฐ์ ํด๋์ค๊ฐ ์๋ก ์ฐ๊ด ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ ์ ์ฒด - ๋ถ๋ถ ๊ด๊ณ๋ฅผ ๊ฐ์ง ๋ Aggregation์ผ๋ก ํ๊ธฐํ ๊ฒ์ ํ์ธํ๋ค.
4. Composition ํฉ์ฑ ์ฐ๊ด
Composition์ Aggregation์ฒ๋ผ ์ ์ฒด์ ๋ถ๋ถ์ ๊ด๊ณ๋ฅผ ๋๊ณ ์์ง๋ง ๋ถ๋ถ์ ํด๋นํ๋ ํด๋์ค์ ๋ผ์ดํ์ฌ์ดํด์ด ์ ์ฒด๋ฅผ ์๋ฏธํ๋ ํด๋์ค์ ๋ผ์ดํ์ฌ์ดํด๊ณผ ๋์ผํ๋ค๋ ์ ์์ ์ฐจ์ด์ ์ ๋ณด์ด๋ ๊ฒ์ ํ์ธํ๋ค.
5. Generalization ์ผ๋ฐํ ์ฐ๊ด ๊ด๊ณ
Generalization์ "is A" ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ ๋ ํด๋์ค ๊ฐ์ ๊ด๊ณ๋ฅผ ์๋ฏธํ๋ค. ๊ฐ์ฒด ์งํฅ์์๋ Generalization(์ผ๋ฐํ)๋ฅผ ๋ถ๋ชจ ํด๋์ค์ ์์ ํด๋์ค๊ฐ์ "์์" ๊ด๊ณ๋ก ํด์๋๋ค. ์์ ํด๋์ค๋ค์ ๋ถ๋ชจ ํด๋์ค๊ฐ ๊ฐ์ง๋ ๊ณตํต ํน์ง(์์ฑ or ํ๋)์ ๊ฐ์ง ๊ฒ์ ํ์ธํ๋ค.
6. Realization ์ค์ฒดํ ์ฐ๊ด ๊ด๊ณ
๊ฐ์ฒด์งํฅ์์ Realization์ ๋ช ์ธํ๋ ํน์ ์ ์๋ง ๋ ์คํผ๋ ์ด์ ์ ์ค์ฒดํํ๋ ๊ฒ์ ์๋ฏธํ๋ค. ์ฆ, ์ธํฐํ์ด์ค(Interface)๋ก ๋ช ์ธํ๋ ๊ธฐ๋ฅ์ ์ค์ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ ๋งํ๋๋ฐ, ์ธํฐํ์ด์ค์ Implement๋ก ํ์ธํ๋ฉด ๋๋ค.
์ด ๊ธ์ ๋ชจ๋ ์ถ์ฒ๋ NCS ํ์ต๋ชจ๋ ๊ต์ก์๋ฃ์ ์์ต๋๋ค.
๋๊ธ