๊ทธ๋ผ ๋์์ธ ํจํด์ด ๋ฌด์์ธ์ง์ ๋ํด ์์๋ณด์.
๋์์ธ ํจํด ์๊ฐ
- ์ธ๊ฐ์ ํจํด ์ธ์์ ์ต์ ํ๋์ด ์๋ค.
- ํ๋ก๊ทธ๋๋ฐ ์์ ์ ์์ด์๋ ๊ท๋ฉ์ ์ผ๋ก ๋ฐ๊ฒฌํ ์ด๋ ํ ํจํด์ด ์์ ๊ฒ์ด๋ค.
- ์ด๋ ๊ฒ ์ํํธ์จ์ด ์ค๊ณ์์ ํํ ๊ฒช๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก ๋์จ ๊ฒ์ด ๋์์ธ ํจํด
- ์์ฑ๋ ์ค๊ณ๊ฐ ์๋๋ค.
- ํน์ ๋ฌธ์ ๋ฅผ ๋ค์ํ ํ๊ฒฝ์์ ํด๊ฒฐํ๋ ๋ฒ์ ์ค๋ช ํ ๊ฐ์ด๋๋ก ์๊ฐํ์.
- GoF(Gang of Four), 1994
๋์์ธ ํจํด ์ฅ๋จ์
์ฅ์
- ์ด๋ฏธ ํ
์คํธ๋ฅผ ๋ง์น ๊ฒ์ฆ๋ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ๊ฐ๋ฐ ์๋๋ฅผ ํฅ์์ํฌ ์ ์๋ค.
- ์ ์ฝ๋ ์์ฑ์ ๊ณง๋ฐ๋ก ์ ์ ์๋ ๋ฌธ์ ๊ฐ ์๋ค.
- ์์ง ๋๋ฌ๋์ง๋ ์์๊ณ ์์ธก๋ ๋ชปํ ๋ฌธ์ ๋ค
- ์ฆ๋ช ๋ ํจํด์ ์ด๋ฐ ๋ฌธ์ ์ ๋๋น๋์ด ์๋ค.
- ๊ณตํต ์ฉ์ด ์ ๋ฆฝ์ ํตํ ๊ฐ๋ฐ์๋ค ๊ฐ์ ๋น ๋ฅธ ์์ฌ์ํต์ ์ด์ง
- โXX ํจํด์ ์ฌ์ฉํ๋ฉด ๋ผโ๋ก ์์ฌ์ํต ๋
- ๋จ, ๋ชจ๋๊ฐ ํด๋น ํจํด, ์ฉ์ด๋ฅผ ์๊ณ ์์ด์ผ ํ๋ค.
๋จ์
- ๊ณ ์น๋ ค๋ ๋์์ด ์๋ชป๋์๋ค.
- ์ฑ ์ ๊ณผ๋ฐ์๋ C++ ์ธ์ด์ ๋ฏธ์ง์ ๊ธฐ๋ฅ์ ๋ํ ๋ฏธ๋ด์ฑ ์ด๋ค.
- ์ ๋ฐ์ ํ์์๋ค ๋ผ๋ ๋ ผ๋ฌธ๋ ์์์
- ๊ณง๋ฐ๋ก ์ ์ฉํ ์ ์๋ ์ฐธ๊ณ ๊ฐ์ด๋๋ฅผ โํจํดโ์ด๋ผ ํ ์ ์๋ค.
- ์๋ชป ์ ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํ๋ค.
- ์คํ๋ ค ๋ณต์กํด์ง
- ๋นํจ์จ์ ์ธ ํด๋ฒ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ์ถ์์ , ๋ฒ์ฉ์ โ ์ฌ์ฌ์ฉ์ฑ์ ๊ณ ๋ ค โ ์ฑ๋ฅ ์ ํ
- ์ฝ๋ ์ค๋ณต์ด ๋ง์์ง
- ๋ค๋ฅธ ์ถ์ํ ๊ธฐ๋ฒ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์๋ค.
- ์ด๋ฏธ ์กด์ฌํ๋ ํ์์ ์ ๊ตณ์ด ๊ฑด์ถ ์ฉ์ด๋ฅผ ์ฌ์ฉํ๋๊ฐ?
๋์์ธ ํจํด์ ์ค์ ๋ชฉ์
- ๋์ ๋ ์: ์ด๋ฏธ OO ์ค๊ณ๋ฅผ ์ข ํด๋ณธ ํ๋ก๊ทธ๋๋จธ
- ์ ๊ฐ๋
์ด ์๋๋ผ ์ง์ธ๋ผ๋ฆฌ ๊ณต์ ํ๋ ์ค๊ณ ๋ฐฉ๋ฒ์ ์ ๋ฆฌ
- OO ์ค๊ณ ์ค ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ์ ํนํ๋ ๊ฐ๋จํ๊ณ ์ฐ์ํ ๋ฐฉ๋ฒ
- ์ฌํ์ฉ์ฑ๊ณผ ์ ์ฐ์ฑ์ ๋์ด๊ธฐ ์ํ ์ค๊ณ ๋ฐฉ๋ฒ
- ์ฒ์ ์ฝ๊ณ ์ดํด ์๋๋๋ผ๋ ๊ด์ฐฎ๋ค.
- 100% ์์ฑ๋ ๋ชฉ๋ก์ด ์๋๋ค.
- ํ์ฌ(1994๋ ) OO ์ค๊ณ์ ๋ํ ์๊ฐ๋ค์ ์ ๋ฆฌํ ๊ฒ
- ๊ณ์ ๋ฐ๋ ๊ฒ์ด๋ผ ์๊ฐํ๋ค.
94๋ ์ดํ ์ ๋๋ก๋ ๋์์ธ ํจํด ์ฑ ์ด ๋์ค์ง ์์๋ค. == ํด๋น ์ฑ ์ ๋ฌธ์ ๊ฐ ๋ง์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
๋์์ธ ํจํด์ด ๋นํ๋ฐ๋ ์ค์ ์ด์
- ์ปค๋ฎค๋ํฐ์์ ์๋์ ์ผ๋ก ์ฝ์ ํ์๋ค.
- ์ธ์์ด ๋ฐ๋์๋ค.
- ์์ฒด ๊ฐ๋ฐํ ์ฆ๊ฐ
- ์ ํ์ ๋ํ ์ธ์, ๋น์ฆ๋์ค ๋ชจ๋ธ ๋ณํ: ๋ฒ์ ๋ณ ๋ฐฐํฌ, ์ง์ ๊ธฐ๊ฐ
- ๋ฐฐํฌ ๋ฐฉ์ ๋ณํ
- Git ๋ฑ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ
- ์ธํฐ๋ท์ ๋ ํ๋ฅญํ ํด๋ต์ด ๋ง์
๊ทธ๋ฌ๋ฉด ์ ๋ฐฐ์ฐ๋
- ๊ทธ๋๋ ์ฌ์ ํ ์ธ๊ธ๋๊ธฐ ๋๋ฌธ์, ์์๋๊ธฐ๋ ํ๋ ค๊ณ .
- ๊ทธ๋๋ง ๋ช ๊ฐ ๋ง์ด ์ฐ์ด๋ ํจํด์ด ์๋ค.
- ํ์ง๋ง ๋๋ถ๋ถ์ ๋คํ์ฑ์ ๊ธฐ๋ฐํ ์ถ์ํ์ ๊ธฐ์ดํ๋ค.
๋์์ธ ํจํด ๊ณต๋ถ๋ฒ
- ๋์์ธ ํจํด ๋ฐฐ์ ๋ค๊ณ ์ธ์๊ฐํ์ง ๋ง ๊ฒ.
- ๋ด ์ฝ๋๊ฐ ์ ํํ ์ด๋ป๊ฒ ๋๋์ง ์ดํด๋๊ธฐ ์ ๊น์ง X
- ์คํ ์ค๋ฒํ๋ก์ฐ์์ ํด๋ฒ์ ๋จผ์ ์ฐพ์ ๊ฒ
- ๋จ์ ์ฝ๋๋ฅผ ๋ณด๊ณ ์ถ์์ ์ผ๋ก ์ดํด๊ฐ ๋๋ ์์ค๊น์ง ๊ธฐ๋ค๋ ค๋ผ.
- ๋ชจ์๋ ์ค๋ ฅ์ ์จ๊ธฐ์ง ๋ง๋ผ.
์ฌ๊ธฐ์ ๋ฐฐ์ธ ํจํด๋ค
- 20. Factory Method
- 21. Builder
- 08. Singleton
- 22. Wrapper(Adapter)
- 23. Proxy
- 24. Chain of Responsibility
- 25. Observer