์ปดํจํฐ ํ๋ก๊ทธ๋๋ฐ์์
๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ
๋ฐ ์ค๊ณ์๋ค์ฏ๊ฐ์ง ๊ธฐ๋ณธ ์์น
์ผ๋ก, ์๊ฐ์ด ์ง๋๋์ ์ง ๋ณด์
์ํ์ฅ
์ด ์ฌ์ด ์์คํ ์ ๋ง๋ค๊ณ ์ ํ ๋ ์ ์ฉ ์ํจ๋ค.
- SOLID ์์น๋ค์ ์ํํธ์จ์ด ์์
์์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ค ์ฝ๋๊ฐ ์ฝ๊ธฐ ์ฝ๊ณ ํ์ฅํ๊ธฐ ์ฝ๊ฒ ๋ ๋๊น์ง ์ํํธ์จ์ด ์์ค ์ฝ๋๋ฅผ ๋ฆฌํฉํ ๋งํ์ฌ
์ฝ๋ ์ค๋ฉ
์ ์ ๊ฑฐํ๊ธฐ ์ํด ์ ์ฉํ ์ ์๋ค.
์ฝ๋ ์ค๋ฉ
: ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ๊ฐ๋ฅ์ฑ์ด ์๋ ์์ค ์ฝ๋์ ํน์ง - ์ ์์ผ ์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ ์ ์์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ๋ฐ์ ์ ๋ต์ ์ผ๋ถ์ด๋ค.
์ ์
์ํํธ์จ์ด ์ค๊ณ ๋ถํ(ํด๋์ค, ๋ฉ์๋)๋ ํ๋์ ์ฑ ์(๊ธฐ๋ฅ)๋ง ๊ฐ์ ธ์ผ ํ๋ค.
- SRP ์๋ฆฌ๋ฅผ ์ ์ฉํ๋ฉด ์ฑ
์ ์์ญ์ด ํ์คํด์ง๊ธฐ ๋๋ฌธ์, ํ ์ฑ
์์ ๋ณ๊ฒฝ์์ ๋ค๋ฅธ ์ฑ
์์ ๋ณ๊ฒฝ์ผ๋ก์ ์ฐ์์์ฉ์ผ๋ก๋ถํฐ ์์ ๋ก์ธ ์ ์๋ค.
- ์ฑ
์์ ์ ์ ํ ๋ถ๋ฐฐํจ์ผ๋ก์จ ์ฝ๋์ ๊ฐ๋
์ฑ์ด ํฅ์๋๊ณ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํด์ง๋ค.
์ ์ฉ ๋ฐฉ๋ฒ
- ๊ฐ ์ฑ ์์ ๊ฐ๊ฐ์ ๊ฐ๋ณ ํด๋์ค(ํจ์)๋ก ๋ถํ ํ์ฌ ํด๋์ค ๋น ํ๋์ ์ฑ ์๋ง์ ๋งก๋๋ก ํ๋ค.
- ๋ฆฌํฉํ ๋ง(Refactoring: Improving the Design of Existing Code -Martin Fowler)
์์ ์๊ฐํ๋ ๋๋ถ๋ถ์ ์ํ์ํฉ์ ๋ํ ํด๊ฒฐ๋ฐฉ๋ฒ์ ์ง/๊ฐ์ ์ ์ผ๋ก SRP ์๋ฆฌ์ ๊ด๋ จ์ด ์๋ค.
์ฌ๋ฌ ์์ธ์ ์ํ ๋ณ๊ฒฝ (Divergent change)
:- ๊ด๊ฑด์ ์ฑ ์๋ง ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์๋๋ผ ๋ถ๋ฆฌ๋ ๋ ํด๋์ค ๊ฐ ๊ด๊ณ์ ๋ณต์ก๋๋ฅผ ์ค์ด๋๋ก ์ค๊ณํ๋ค.
- ๋ง์ฝ Extract Class๋ ๊ฐ๊ฐ์ ํด๋์ค๋ค์ด ์ ์ฌํ๊ณ ๋น์ทํ ์ฑ ์์ ์ค๋ณตํด์ ๊ฐ๊ณ ์๋ค๋ฉด Extract Superclass๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ๋ฐ๋ผ์ ๊ฐ๊ฐ์ Extract Class๋ค์ ์ ์ฌํ ์ฑ ์๋ค์ ๋ถ๋ชจ์๊ฒ ๋ช ๋ฐฑํ ์์ํ๊ณ ๋ค๋ฅธ ์ฑ ์๋ค์ ๊ฐ์์๊ฒ ์ ์ํ ์ ์๋ค.
์ ์ฉ ์ด์
- ํด๋์ค ์ด๋ฆ์ ํด๋น ํด๋์ค์ ์ฑ ์์ ๋ํ๋ผ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์ข๋ค.
- ๊ฐ ํด๋์ค๋ ํ๋์ ๊ฐ๋ ์ ๋ํ๋ด์ด์ผ ํ๋ค.
- ๋ฌด์กฐ๊ฑด ์ฑ ์์ ๋ถ๋ฆฌํ๋ค๊ณ SRP๊ฐ ์ ์ฉ๋๋ ๊ฒ์ ์๋๋ค.
๊ทธ๋ฆผ์์ serialNumber๋ ๋ณํ์์๋ผ ํ ์ ์๊ณ ๊ณ ์ ์ ๋ณด์ด๋ค. ์ด์ธ์ ๋ณ์๋ค์ ๋ชจ๋ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ์ ์๋ ์์๋ก ์์์ด ๋๋ค.
๋ฐ๋ผ์ ๋ณํ๊ฐ ๋ฐ์ํ๋ฉด ํญ์ ํด๋น ํด๋์ค๋ฅผ ์์ ํด์ผ ํ๋ ๋ถ๋ด์ด ๋ฐ์ํ๊ฒ ๋๋ฏ๋ก SRP ์ ์ฉ์ ๋์์ด ๋๋ค.
๋ ๋ฒ์งธ ์ฝ๋์์๋ ๋ณํ๊ฐ ์์๋๋ ํน์ ์์๋ค์ ๋ถ๋ฆฌํ์๋ค. ๋ฐ๋ผ์ ๋ณ๊ฒฝ์ด ์ผ์ด๋๋ฉด NotebookSpec ํด๋์ค๋ง ๋ณ๊ฒฝํ๋ฉด ๋๋ค.
๋ณํ์ ์ํด ๋ณ๊ฒฝ๋๋ ๋ถ๋ถ์ ํ ๊ณณ์์ ๊ด๋ฆฌํ ์ ์๊ฒ ๋๋ค.
์ ์
๊ธฐ์กด์ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ (Closed) ๊ธฐ๋ฅ์ ์์ ํ๊ฑฐ๋ ์ถ๊ฐํ ์ ์๋๋ก(Open) ์ค๊ณํด์ผ ํ๋ค.
- ์ํํธ์จ์ด์ ๊ตฌ์ฑ์์(์ปดํฌ๋ํธ, ํด๋์ค, ๋ชจ๋, ํจ์)๋ ํ์ฅ์๋ ์ด๋ ค์๊ณ ๋ณ๊ฒฝ์๋ ๋ซํ์์ด์ผ ํ๋ค.
- ๋ณ๊ฒฝ์ ์ํ ๋น์ฉ์ ๊ฐ๋ฅํ ์ค์ด๊ณ ํ์ฅ์ ์ํ ๋น์ฉ์ ๊ฐ๋ฅํ ๊ทน๋ํ ํด์ผ ํ๋ค.
- ์๊ตฌ์ฌํญ์ ๋ณ๊ฒฝ์ด๋ ์ถ๊ฐ์ฌํญ์ด ๋ฐ์ํ๋๋ผ๋, ๊ธฐ์กด ๊ตฌ์ฑ์์๋ ์์ ์ด ์ผ์ด๋์ง ๋ง์์ผ ํ๋ฉฐ, ๊ธฐ์กด ๊ตฌ์ฑ์์๋ฅผ ์ฝ๊ฒ ํ์ฅํด์ ์ฌ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
- OCP๋ ๊ฐ์ฒด ์งํฅ์ ์ฅ์ ์ ๊ทน๋ํํ๋ ์์ฃผ ์ค์ํ ์๋ฆฌ์ด๋ค.
์ ์ฉ ๋ฐฉ๋ฒ
- ๋ณ๊ฒฝ(ํ์ฅ)๋ ๊ฒ๊ณผ ๋ณํ์ง ์์ ๊ฒ์ ์๊ฒฉํ ๊ตฌ๋ถํ๋ค.
- ๋ ๋ชจ๋์ด ๋ง๋๋ ์ง์ ์ ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ๋ค.
- ๊ตฌํ์ ์์กดํ๊ธฐ๋ณด๋ค ์ ์ํ ์ธํฐํ์ด์ค์ ์์กดํ๋๋ก ์ฝ๋๋ฅผ ์์ฑํ๋ค.
์ ์ฉ ์ด์
- ํ์ฅ๋๋ ๊ฒ๊ณผ ๋ณ๊ฒฝ๋์ง ์๋ ๋ชจ๋์ ๋ถ๋ฆฌํ๋ ๊ณผ์ ์์ ํฌ๊ธฐ ์กฐ์ ์ ์คํจํ๋ฉด ๊ด๊ณ๊ฐ ๋ ๋ณต์กํด์ง ์ ์๋ค.
- ์ธํฐํ์ด์ค๋ ๊ฐ๋ฅํ๋ฉด ๋ณ๊ฒฝ๋์ด์๋ ์๋๋ค.
- ์ธํฐํ์ด์ค ์ค๊ณ์์ ์ ๋นํ ์ถ์ํ ๋ ๋ฒจ์ ์ ํํด์ผ ํ๋ค.
SRP ์๋ฆฌ๋ฅผ ์ ์ฉํ์ฌ Notebook์์ ๋ณ๊ฒฝ์ด ์์๋๋ ๋ถ๋ถ์ ๋ฝ์ NotebookSpec์ด๋ผ๋ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋ค์ด ๋ณํ์์๋ค์ ํ๋๋ก ๋ชจ์๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ณ๊ฒฝ์ด ๋ฐ์ํ ์ ์๋ค.
์๋ฅผ ๋ค์ด Notebook ์ด์ธ์ ํธ๋ํฐ, ์ปดํจํฐ์ ๊ฐ์ ๋ค๋ฅธ ์ ์๊ธฐ๊ธฐ๋ค๋ ๋ค๋ฃจ์ด์ผ ํ๋ค๋ฉด ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง์ ์ฝ๋์ฒ๋ผ ๋งค๋ฒ ์๋ก์ด ๊ธฐ๊ธฐ๋ค๊ณผ ๊ฐ์ ์์๋ค์ ๋ง๋ค๊ฒ ๋ ๊ฒ์ด๋ค.
์ด์ ์์ ์ฝ๋๋ฅผ OCP ์๋ฆฌ๋ฅผ ์ด์ฉํด์ ๋ณํ์ ๋์ํด๋ณด๋๋ก ํ์๋ฉด, ๋จผ์ Notebook๊ณผ ์ถ๊ฐ๋ ๋ค๋ฅธ ์ ์๊ธฐ๊ธฐ๋ค์ ์ถ์ํํ๋ ์์
์ด ํ์ํ๋ค.
๊ณตํต ์์ฑ์ ๋ชจ๋ ๋ด์ ์ ์๋ ElectronicProducts ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ค. ์๋ก์ด ์ ์๊ธฐ๊ธฐ๊ฐ ์ถ๊ฐ๋๋ฉด์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ ๋ถ๋ถ์ ์ถ์ํ ํ์ฌ ๋ถ๋ฆฌํ์๋ค. ์ด๋ ๊ฒ ์ฝ๋์ ์์ ์ ์ต์ํํ์ฌ ๊ฒฐํฉ๋๋ ์ค์ด๊ณ ์์ง๋๋ ๋์ด๋ ํจ๊ณผ๋ฅผ ๊ฐ์ง๋ค.
์ ์
์์ ํด๋์ค๋ ์ต์ํ ์์ ์ ๋ถ๋ชจ ํด๋์ค์์ ๊ฐ๋ฅํ ํ์๋ ์ํํ ์ ์์ด์ผ ํ๋ค๋ ์ค๊ณ ์์น
-
์ฆ, ์์ ํด๋์ค๋ ์ธ์ ๋ ๋ถ๋ชจ ํด๋์ค์ ์ญํ ์ ๋์ฒดํ ์ ์์ด์ผ ํ๋ค.
-
๋ถ๋ชจ ํด๋์ค์ ์์ ํด๋์ค์ ํ์๊ฐ ์ผ๊ด๋์ด์ผ ํ๋ค.
-
์์ ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์ ์ฑ ์์ ๋ฌด์ํ๊ฑฐ๋ ์ฌ์ ์ํ์ง ์๊ณ ํ์ฅ๋ง ์ํ
ํ๋๋ก ํด์ผ LSP๋ฅผ ๋ง์กฑํ๋ค. -
์์ ๊ด๊ณ์์๋ ์ผ๋ฐํ ๊ด๊ณ(IS-A)๊ฐ ์ฑ๋ฆฝํด์ผ ํ๋ค.
-> ์ผ๋ฐํ ๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ๋ค = ์ผ๊ด์ฑ์ด ์๋ค -
LSP์ ๋ฐ๋ฅด๋ฉด ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ์ค๊ณ๋ฅผ ํ๊ธฐ ์ํด์๋ ์ค๋ฒ๋ผ์ด๋๋ฅผ ๊ฐ๊ธ์ ํผํ๋ ๊ฒ์ด ์ข๋ค๊ณ ํ๋ค.
์ ์ฉ ๋ฐฉ๋ฒ
- ๋ง์ฝ ๋ ๊ฐ์ฒด๊ฐ ๋๊ฐ์ ์ผ์ ํ๋ค๋ฉด ๋์ ํ๋์ ํด๋์ค๋ก ํํํ๊ณ ์ด๋ค์ ๊ตฌ๋ถํ ์ ์๋ ํ๋๋ฅผ ๋๋ค.
- ๋๊ฐ์ ์ฐ์ฐ์ ์ ๊ณตํ์ง๋ง, ์ด๋ค์ ์ฝ๊ฐ์ฉ ๋ค๋ฅด๊ฒ ํ๋ค๋ฉด ๊ณตํต์ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋ค๊ณ ๊ฐ๊ฐ ๊ตฌํํ๋ค.(์ธํฐํ์ด์ค ์์)
- ๊ณตํต๋ ์ฐ์ฐ์ด ์๋ค๋ฉด ์์ ๋ณ๊ฐ์ธ 2๊ฐ์ ํด๋์ค๋ฅผ ๋ง๋ ๋ค.
- ๋ง์ฝ ๋ ๊ฐ์ฒด๊ฐ ํ๋ ์ผ์ ์ถ๊ฐ์ ์ผ๋ก ๋ฌด์ธ๊ฐ๋ฅผ ๋ ํ๋ค๋ฉด ๊ตฌํ ์์์ ์ฌ์ฉํ๋ค.
์ ์ฉ ์ด์
- ํผ๋๋ ์ฌ์ง๊ฐ ์๋ค๋ฉด ๊ทธ๋๋ก ๋๋ค.
์ ์
ํ๋์ ์ผ๋ฐ์ ์ธ ์ธํฐํ์ด์ค๋ณด๋ค ์ฌ๋ฌ ๊ฐ์ ๊ตฌ์ฒด์ ์ธ ์ธํฐํ์ด์ค๊ฐ ๋ซ๋ค.
- ํ ํด๋์ค๋ ์์ ์ด ์ฌ์ฉํ์ง ์๋ ์ธํฐํ์ด์ค๋ ๊ตฌํํ์ง ๋ง์์ผ ํ๋ค.
- ์ฆ ์ด๋ค ํด๋์ค๊ฐ ๋ค๋ฅธ ํด๋์ค์ ์ข
์๋ ๋์๋ ๊ฐ๋ฅํ ์ต์ํ์ ์ธํฐํ์ด์ค๋ง์ ์ฌ์ฉํด์ผ ํ๋ค.
- ์ด๋ค ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ๋ฌ ๊ฐ๊ณ ์ด๋ค์ด ํด๋น ํด๋์ค์ ํน์ ๋ถ๋ถ์งํฉ๋ง์ ์ด์ฉํ๋ค๋ฉด, ์ด๋ค์ ๋ฐ๋ก ์ธํฐํ์ด์ค๋ก ๋นผ๋ด์ผ ํ๋ค.
SRP๊ฐ ํด๋์ค ๋ถ๋ฆฌ๋ฅผ ํตํด ํด๋์ค์ ๋จ์ผ์ฑ ์
์ ๊ฐ์กฐํ๋ค๋ฉดISP๋ ์ธํฐํ์ด์ค ๋ถ๋ฆฌ๋ฅผ ํตํด ์ธํฐํ์ด์ค์ ๋จ์ผ์ฑ ์
์ ๊ฐ์กฐํ๋ค.
์ ์ฉ ๋ฐฉ๋ฒ
- ํด๋์ค์ ์์์ ์ด์ฉํ์ฌ ์ธํฐํ์ด์ค๋ฅผ ๋๋ ์ ์๋ค.
- ์์(Delegation)์ ์ด์ฉํ์ฌ ์ธํฐํ์ด์ค๋ฅผ ๋๋ ์ ์๋ค.
์ ์ฉ ์ด์
- ํด๋ผ์ด์ธํธ์ ๋ณ๊ฒฝ์ ์ฃผ์ง ๋ง์์ผ ํ๋ค.
- ๋ ๊ฐ ์ด์์ ์ธํฐํ์ด์ค๊ฐ ๊ณต์ ํ๋ ๋ถ๋ถ์ ์ฌ์ฌ์ฉ์ ๊ทน๋ํ ํด์ผ ํ๋ค.
- ์๋ก ๋ค๋ฅธ ์ฑ๊ฒฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ช ๋ฐฑํ ๋ถ๋ฆฌ ํ๋ค.
์๋ 3Gํฐ๊ณผ ํ์ฌ ์ค๋งํธํฐ๋ค์ Phone์ ๊ธฐ๋ฅ๋ค์ ์ฌ์ฉํ๋ฏ๋ก ์ฒซ ๋ฒ์งธ ์ฌ์ง์ฒ๋ผ, Phone ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๊ทธ๋ฌ๋ ISP๋ฅผ ์ ์ฉํ๋ ค๋ฉด Phone ์ธํฐํ์ด์ค์ ๋ชจ๋ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒ๋ณด๋ค, Call, Sms, Alarm, Calculator ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๊ฐ ์ ์ํ์ฌ,ํ์ํ ํด๋์ค์์ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋๋ก ์ค๊ณ๋์ด์ผ ํ๋ค.
์ด๋ ๊ฒ ์ค๊ณ๋ฅผ ํ๋ฉด, ๊ฐ ์ธํฐํ์ด์ค์ ๋ฉ์๋๋ค์ด ์๋ก ์ํฅ์ ๋ฏธ์น์ง ์๊ฒ ๋๋ค. ์ฆ, ์์ ์ด ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋์ ๋ํด์ ์ํฅ๋ ฅ์ด ์ค์ด๋ค๊ฒ ๋๋ค.
์ ์
ํ๋ก๊ทธ๋๋จธ๋ ์ถ์ํ(๋ณํํ๊ธฐ ์ด๋ ค์ด ๊ฒ)์ ์์กดํด์ผ์ง, ๊ตฌ์ฒดํ(๋ณํํ๊ธฐ ์ฌ์ด ๊ฒ)์ ์์กดํ๋ฉด ์๋๋ค.
- ์ฌ๊ธฐ์์ ์ญ์ ์ ๊ตฌ์กฐ์ ๋์์ธ์์ ๋ฐ์ํ๋ ํ์ ๋ ๋ฒจ ๋ชจ๋์ ๋ณ๊ฒฝ์ด ์์ ๋ ๋ฒจ ๋ชจ๋์ ๋ณ๊ฒฝ์ ์๊ตฌํ๋ ์๊ณ๊ด๊ณ๋ฅผ ๋๋ ์๋ฏธ์ ์ญ์ ์ด๋ค.
- ๊ฐ์ฒด๋ค์ด ์๋ก ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์ ๋ ์์กด ๊ด๊ณ๊ฐ ํ์ฑ๋๋๋ฐ, ์ด ๋ ๊ฐ์ฒด๋ค์ ๋๋ฆ๋๋ก์ ์์น์ ๊ฐ๊ณ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ์์ผ ํ๋ค๋ ์ค๊ณ ์์น - ์ฌ๊ธฐ์ ์์น์, ์ถ์์ฑ์ด ๋ฎ์ ํด๋์ค๋ณด๋ค ์ถ์์ฑ์ด ๋์ ํด๋์ค์ ์์กด ๊ด๊ณ๋ฅผ ๋งบ์ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค. - ์ผ๋ฐ์ ์ผ๋ก ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ๋ฉด ์ด ์์น์ ์ค์ํ ์ ์๊ฒ ๋๋ค. (์บก์ํ)
์ ์ฉ ๋ฐฉ๋ฒ
- Layering
์ถ์ํ ํตํด ์์ ๋ชจ๋์ ํ์ ๋ชจ๋๋ก์ ์์กด์ฑ์์ ๋ฒ์ด๋ ๊ทธ ์์ฒด๋ก ์ฌ์ฉ๋๊ณ ํ์ฅ์ฑ๋ ๋ณด์ฅ ๋ฐ์ ์ ์๋ค.
Client ๊ฐ์ฒด๋ Cat, Dog, Bird์ crying() ๋ฉ์๋์ ์ง์ ์ ๊ทผํ์ง ์๊ณ , Animal ์ธํฐํ์ด์ค์ crying() ๋ฉ์๋๋ฅผ ํธ์ถํจ์ผ๋ก์จ DIP๋ฅผ ๋ง์กฑํ ์ ์๋ค.
๊ฐ์ฒด์งํฅ์ ์์น์ด ์ค์ํ ๊ฒ์ ์ฌ์ค์ด๋, ๋ ์ฐ์ ์ํด์ผ ํ ๊ฒ์ ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ๋๋ก ๋์ํด์ผ ํ๋ค๋ ๊ฒ์ด๋ค. ์๋ฌด๋ฆฌ ๊ฐ์ฒด์งํฅ ์์น์ ์ ์ฉํ๊ณ ๋ฉ์ง ํจํด์ ์ฌ์ฉํ์ฌ ํ์ฅ์ฑ์ด ๋ฐ์ด๋๊ณ ์ ์ฐํ ์ค๊ณ๊ฐ ๋์๋ค ํ๋๋ผ๋ ์ ๋๋ก ๋์ํ์ง ์๋ ํ๋ก๊ทธ๋จ์ด๋ผ๋ฉด ์์ฉ์๋ค.
ํค๋ํผ์คํธ OOA&D ์ค์์
- ์ฌ๋ฌ๋ถ์ ์ํํธ์จ์ด๊ฐ ๊ณ ๊ฐ์ด ์ํ๋ ๊ธฐ๋ฅ์ ํ๋๋ก ํ์ธ์.
- ๊ฐ์ฒด์งํฅ ๊ธฐ๋ณธ์๋ฆฌ๋ฅผ ์ ์ฉํด์ ์ํํธ์จ์ด๋ฅผ ์ ์ฐํ๊ฒ ํ์ธ์.
- ์ ์ง๋ณด์์ ์ฌ์ฌ์ฉ์ด ์ฌ์ด ๋์์ธ์ ์ํด ๋ ธ๋ ฅํ์ธ์.