๐ก ์กฐ์ํธ๋์ ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ์์ต๋๋ค
- ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ธฐ๋ฅ์ด ์๋๋ผ ์์ ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ฐ๋ผ ์ญํ , ์ฑ ์, ํ๋ ฅ์ ๊ตฌ์ฑํ๋ผ
๊ธฐ๋ฅ ์ค๊ณ vs ๊ตฌ์กฐ ์ค๊ณ
- ์์ธก ๋ถ๊ฐ๋ฅํ ์๊ตฌ์ฌํญ์ ๋ง์กฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋์์ ์๊ตฌ์ฌํญ ๋ณ๊ฒฝ์ ์ ์ฐํ๊ฒ ๋์ฒํ ์ ์๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด์ผํจ
- ๋ณ๊ฒฝ์ ์์ฉํ ์ ์๋ ์ ํ์ ์ฌ์ง๋ฅผ ์ค๊ณ์ ๋
น์ฌ ๋์์ผํจ
- ๋ณ๊ฒฝ์ ์์๋๋ ๋น์ฉ์ ๋ฎ์ถ ์ ์์
- ์ด๋ป๊ฒ??
- ์์ฃผ ๋ณ๊ฒฝ๋๋ ๊ธฐ๋ฅ์ด ์๋ ์์ ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ค์ฌ์ผ๋ก ์ค๊ณํ์!
- ์์ฃผ ๋ณ๊ฒฝ๋์ง ์๋ ์์ ์ ์ธ ๊ฐ์ฒด ๊ตฌ์กฐ๋ฅผ ๋ฐํ์ผ๋ก ์์คํ ์ ๊ธฐ๋ฅ์ ๊ฐ์ฒด ๊ฐ์ ์ฑ ์์ผ๋ก ๋ถ๋ฐฐ
๋๊ฐ์ง ์ฌ๋ฃ : ๊ธฐ๋ฅ๊ณผ ๊ตฌ์กฐ
- ๊ธฐ๋ฅ
- ์ฌ์ฉ์๊ฐ ๋ชฉํ๋ฌ์ฑ์ ์ํด ์ฌ์ฉํ ์ ์๋ ์์คํ ์ ์๋น์ค
- ๊ตฌ์กฐ
- ์์คํ ์ ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํ ๊ธฐ๋ฐ
- ๊ธฐ๋ฅ๋ณ๊ฒฝ์ ์์ฉํ ์ ์๋๋ก ์์ ์ ์ด์ด์ผํจ
- ๊ธฐ๋ฒ
- ๊ตฌ์กฐ๋ ์ฌ์ฉ์๋ ์ดํด๊ด๊ณ์๋ค์ด ๋๋ฉ์ธ์ ๊ดํด ์๊ฐํ๋ ๊ฐ๋ ๊ณผ ๊ฐ๋ ๋ค๊ฐ์ ๊ด๊ณ๋ก ํํ
- ๊ธฐ๋ฅ์ ์ฌ์ฉ์์ ๋ชฉํ๋ฅผ ๋ง์กฑ์ํค๊ธฐ ์ํด ์ฑ ์์ ์ํํ๋ ์์คํ ์ ํ์๋ก ํํ
- ์ ์ค์ผ์ด์ค ๋ชจ๋ธ๋ง
- ๊ธฐ๋ฅ ์์งํ๊ณ ํํํ๊ธฐ์ํ ๊ธฐ๋ฒ
- ๋๋ฉ์ธ ๋ชจ๋ธ๋ง
- ๊ตฌ์กฐ ์์งํ๊ณ ํํํ๊ธฐ ์ํ ๊ธฐ๋ฒ
์์ ์ ์ธ ์ฌ๋ฃ: ๊ตฌ์กฐ
- ๋๋ฉ์ธ
- ์ํํธ์จ์ด ์ฌ์ฉ์๋ ์์ ์ด ๊ด์ฌ์ ๊ฐ์ง๊ณ ์๋ ๋ถ์ผ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉ
- ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๋์ ๋ถ์ผ๋ฅผ ๋๋ฉ์ธ์ด๋ผ๊ณ ํจ
- ๋ชจ๋ธ?
- ๋์์ ๋จ์ํํด์ ํํํ ๊ฒ
- ์ง์์ ์ ํ์ ์ผ๋ก ๋จ์ํํ๊ณ ์์์ ์ผ๋ก ๊ตฌ์กฐํํ ํํ
- ์์
- ์ํ ์
๋ฌด ์ข
์ฌ์
- ์ํ ๋๋ฉ์ธ?
- ๊ณ ๊ฐ๊ณผ ๊ณ์ข ์ฌ์ด์ ๋์ ํ๋ฆ
- ์ํ ๋๋ฉ์ธ?
- ์ค๊ณ ์ฐจ ํ๋งค์
- ๊ตฌ๋งค๋๋ ์๋์ฐจ์ ํ๋งค๋๋ ์๋์ฐจ์ ๊ตํ
- ์ํ ์
๋ฌด ์ข
์ฌ์
- ํด๋น ๋๋ฉ์ธ์์ ์ผํ๋ ์ฌ๋๋ค์ด ๋๋ฉ์ธ์ ๋ฐ๋ผ๋ณด๋ ๋ชจ๋ธ์ด ์กด์ฌํจ → ๋๋ฉ์ธ ๋ชจ๋ธ
- ๊ฒฐ๊ตญ ์ฌ์ฉ์๊ฐ ๋๋ฉ์ธ์ ๋ํด ์๊ฐํ๋ ๊ฐ๋
์ ์์ ๋ฅผ ํตํด ์ํํธ์จ์ด ๊ฐ์ฒด๋ก ๋ง๋ค์ด์ผํจ
- ๋๋ฉ์ธ ๋ชจ๋ธ์ ์์ ํด์ ๊ฐ์ฒด๋ก ๋ง๋ค๋ฉด๋จ
๋ถ์์ ํ ์ฌ๋ฃ: ๊ธฐ๋ฅ
- ์ ์ค์ผ์ด์ค
- ์ฌ์ฉ์๋ค์ด ์์คํ ์ ํตํด ๋ฌ์ฑํ๊ณ ์ ํ๋ ‘๋ชฉํ’๋ฅผ ์ถฉ์กฑ ์ํค๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉด ๋๋ค
- ์ฌ์ฉ์๋ ๋ชฉํ๋ฌ์ฑ์ ์ํด ์์คํ ๊ณผ ์ํธ์์ฉํจ
- ์ด๋ฌํ ์ํธ์์ฉ์ ํ๋ฆ์ ํ ์คํธ๋ก ์ ๋ฆฌํ ๊ฒ์ ์ ์ค์ผ์ด์ค๋ผ๊ณ ํจ
- ํน์ง
- ์ฌ์ฉ์์ ์์คํ ๊ฐ์ ์ํธ์์ฉ์ ๋ณด์ฌ์ฃผ๋ ํ ์คํธ
- ํ๋์ ์๋๋ฆฌ์ค๊ฐ ์๋๋ผ ์ฌ๋ฌ ์๋๋ฆฌ์ค๋ค์ ์งํจ
- ์ ๊ธฐ์๊ธ ํด์ง ์ ์ค๋๊น์ง ์ด์๊ณ์ฐ
- ๋ค๋ฅธ ๋ ์ง๊น์ง ์ด์๊ณ์ฐ
- ๋จ์ํ ํผ์ฒ ๋ชฉ๋ก๊ณผ ๋ค๋ฅด๊ฒ ์ฐ๊ด๋ ๊ธฐ๋ฅ์ ํจ๊ป ๋ฌถ์ ์ ์์
- ํน์ ํผ์ฒ๋ค๋ผ๋ฆฌ ์ด๋ค ์์ฌ์ํต์ ๋๋๋์ง ์์ ์์
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ๊ด๋ จ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ํฌํจํ๋ฉด ์๋จ
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์์ฃผ ๋ฐ๋๊ธฐ ๋๋ฌธ
- ๋ด๋ถ ์ค๊ณ์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ํฌํจ ํ์ง ์์
- ์ ์ค์ผ์ด์ค๋ ์ค๊ณ ๊ธฐ๋ฒ๋ ๊ฐ์ฒด์งํฅ ๊ธฐ๋ฒ๋ ์๋๋ค!!
์ฌ๋ฃ ํฉ์น๊ธฐ: ๊ธฐ๋ฅ๊ณผ ๊ตฌ์กฐ์ ํตํฉ
- ์์
- ์์คํ
์๊ตฌ ์ฌํญ์ ์๋ณ
- ์ ์ค์ผ์ด์ค๋ฅผ ์์ฑํด ๋ณด์
- ์ฌ์ฉ์ ๊ด์ ์์ ์์คํ ์ ๊ธฐ๋ฅ์ ๋์ถ ํ ์ ์์
- ์ ์ค์ผ์ด์ค๋ฅผ ์์ฑํด ๋ณด์
- ๋๋ฉ์ธ ๋ชจ๋ธ ์์ฑ ํ ๊ฐ๋
์ ์์ ํ๋ ์ํํธ์จ์ด ๊ฐ์ฒด ์ ํ
- ๋๋ฉ์ธ ๋ชจ๋ธ์ ํตํด ํด๋น ๋๋ฉ์ธ์์ ํต์ฉ๋๋ ๊ฐ๋
์ ๋์ถํ ์ ์์
- ์ฌ์ฉ์์ ์ค๊ณ์๊ฐ ๊ณต์ ํ๋ ์์ ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์
- ๋๋ฉ์ธ ๋ชจ๋ธ์ ํตํด ํด๋น ๋๋ฉ์ธ์์ ํต์ฉ๋๋ ๊ฐ๋
์ ๋์ถํ ์ ์์
- ๋ฉ์ธ์ง๋ฅผ ์๋ณํ์ฌ ์ ์ ํ ๊ฐ์ฒด์๊ฒ ์ฑ
์ ๋ถ๋ฐฐ
- ์ ์ค์ผ์ด์ค๋ก ๋ถํฐ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํด์ผํ ๊ธฐ๋ฅ์ ๊ฐ์ฒด์๊ฒ ์ญํ / ์ฑ ์์ผ๋ก ๋ถ๋ฐฐ
- ์ฑ
์ ํ ๋น์ ์์น
- ์ฑ ์์ ์ํํ๋๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ง ๊ฐ์ฒด์๊ฒ ๊ทธ ์ฑ ์์ ํ ๋นํ๋ค
- ๊ฐ์ฒด ๊ตฌํ์ ์ํด ํด๋์ค ๋ง๋ค๊ธฐ
- ์์คํ
์๊ตฌ ์ฌํญ์ ์๋ณ
- ์ค๊ณ ํ๋๋ฐ ์์ด์ ์ฌ๋ฌ ๋์์ธ ํจํด๋ค์ด ์ฌ์ฉ๋ ์ ์์
- ์์ - strategy pattern
- ๋ฉ์ธ์ง์ ๋ฐํ ๊ฐ์ ๊ฐ์ง๋ง ํด๋น ๋ฐํ๊ฐ์ ๋ง๋๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ต์ฒดํ ์ ์๋ ์ ๋ต
- ๋จ๋ฆฌ , ๋ณต๋ฆฌ ์ด์ ๊ณ์ฐ ๋ฐฉ์์ ์ ์ฉํ๊ณ ์ถ์ ๋ ์ ์ฉ
- ์ด์๋ฅผ ๊ณ์ฐํ๋ค๋ ๊ฒ์ ๊ฐ์ง๋ง ์ด์๋ฅผ ๊ณ์ฐ ํ๋ ๊ณผ์ ์ด ๋ค๋ฆ
- ์์ - strategy pattern
'Computer Science > Object-oriented' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ธ์ ํธ] - ์ค๊ณ ํ์ง๊ณผ ํธ๋ ์ด๋์คํ (0) | 2024.03.20 |
---|---|
[์ค๋ธ์ ํธ] - ์ญํ , ์ฑ ์, ํ๋ ฅ (0) | 2024.03.13 |
[์ค๋ธ์ ํธ] - ๊ฐ์ฒด, ์ค๊ณ (1) | 2024.02.25 |
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด - chap5 ์ฑ ์๊ณผ ๋ฉ์ธ์ง (0) | 2023.10.16 |
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด - chap4 ์ญํ , ์ฑ ์, ํ๋ ฅ (1) | 2023.10.14 |