๐ก ์กฐ์ํธ๋์ ๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด๋ฅผ ์ฝ๊ณ ์ ๋ฆฌํ์์ต๋๋ค
1. ์์จ์ ์ธ ์ฑ ์
- ๊ฐ์ฒด๊ฐ ์ด๋ค ํ๋์ ํ๋ ์ ์ผํ ์ด์ ๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ก ๋ถํฐ ์์ฒญ(๋ฉ์ธ์ง)๋ฅผ ๋ฐ์๊ธฐ ๋๋ฌธ์.
- ๋ฐ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๊ฐ์ฒด๊ฐ ์ํํ๋ ํ๋์ โ์ฑ ์โ์ด๋ผ๊ณ ํจ
- ์ฑ
์์ ์ํํ๋๋ฐ ์์ด ๋ฐฉ๋ฒ์ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅผ ์ ์๊ณ ์์จ์ ์.
- ํด๋น ๋ฐฉ๋ฒ์ ์์ฒญํ๋ ๊ฐ์ฒด๊ฐ ์ ํํ๋ ๊ฒ์ ์ข์ง ์์
- ๋ฐ๋ผ์, ์ด๋ป๊ฒ ์ฑ ์ ์ง ๊ฒ์ธ๊ฐ ๋ณด๋ค๋ ๋ฌด์์ ์ฑ ์์ง ๊ฒ์ธ๊ฐ๊ฐ ์ค์ํจ
2. ๋ฉ์์ง์ ๋ฉ์๋
- ๋ฉ์ธ์ง
- ํ๋์ ๊ฐ์ฒด๋ ๋ฉ์ธ์ง๋ฅผ ์ ์กํจ์ผ๋ก์ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ ๊ทผํจ
- ์์ด ๋ชจ์ ์ฅ์์๊ฒ โ์ฆ์ธํ๋ผโ๋ผ๋ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ธ๋ ๊ฒฝ์ฐ
- ๋ชจ์ ์ฅ์.์ฆ์ธํ๋ผ(์ธ์)
- ์ธ์์๋ ์ฆ์ธ์ ํ์ํ ์ ๋ณด๊ฐ ๋ค์ด๊ฐ ์ ์์(์ธ์ , ์ด๋์ ๋ฑ๋ฑ)
- ์์ด ๋ชจ์ ์ฅ์์๊ฒ โ์ฆ์ธํ๋ผโ๋ผ๋ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ธ๋ ๊ฒฝ์ฐ
- ํ๋์ ๊ฐ์ฒด๋ ๋ฉ์ธ์ง๋ฅผ ์ ์กํจ์ผ๋ก์ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ ๊ทผํจ
- ๋ฉ์๋
- ๋ฉ์ธ์ง๋ฅผ ์์ ํ๋ ๊ฐ์ฒด๊ฐ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ ํํ ์ ์๋ ๋ฐฉ๋ฒ
- ๋คํ์ฑ
- ๋์ผํ ๋ฉ์ธ์ง๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ฒด๋ง๋ค ๋ค๋ฅผ ์ ์์.
- ๋ฉ์ธ์ง ์ก์ ์๋ ์์ ์์ ์ข
๋ฅ์ ๊ด๊ณ ์์ด ๋ฉ์ธ์ง๋ฅผ ์ ์กํ ์ ์์
- ๋ฉ์์ง๋ฅผ ์ดํดํ๋ ์์ ์๋ผ๋ฉด ์ก์ ์๋ ์ด๋ค ์์ ์์๋ ํ๋ ฅํ ์ ์์
- ์ฆ, ๋คํ์ฑ์ ์์ ์์ ์ข ๋ฅ๋ฅผ ์บก์ํํจ
- ํ๋ ฅ์ด ์ ์ฐํด์ง๋ ์ฅ์
- ํ๋ ฅ์ด ์ํ๋๋ ๋ฐฉ์์ ํ์ฅ ๊ฐ๋ฅ
- ํ๋ ฅ์ ์ธ๋ถ์ ์ธ ์ํ ๋ฐฉ์์ ์์ ์๊ฐ ์ ํจ
- ํ๋ ฅ์ด ์ํ๋๋ ๋ฐฉ์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
- ์๋ก์ด ๊ฐ์ฒด๊ฐ ํ๋ ฅ์ ์ฐธ์ฌํ ์ ์์
3. ๋ฉ์์ง๋ฅผ ๋ฐ๋ผ๋ผ
- ๊ฐ์ฒด์งํฅ์ ํต์ฌ, ๋ฉ์ธ์ง
- ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฒ์ด ๋จผ์ ๊ฐ ์๋๋ผ ๊ฐ์ฒด์ ํ์์ ์์ฑ์ ์๋ณํ๋ ๊ฒ์ด ๋จผ์ ์ด๋ค!
- ํด๋์ค๋ ๊ฐ์ฒด์ ํ์์ ์์ฑ์ ๋ด๋ ํ์ผ๋ฟ
- ํด๋์ค๋ ๋์ ์ธ ๊ฐ์ฒด๋ค์ ํน์ฑ๊ณผ ํ์๋ฅผ ์ ์ ์ธ ํ ์คํธ๋ก ํํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ถ์ํ ๋๊ตฌ์ผ ๋ฟ
- ํด๋์ค๋ ๊ฐ์ฒด์ ํ์์ ์์ฑ์ ๋ด๋ ํ์ผ๋ฟ
- ๋ฉ์ธ์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฐ์ฒด๋ค ์ฌ์ด์ ์ปค๋ฎค๋์ผ์ด์ ์ ์ด์ ์ ๋ง์ถ๋ ๊ฒ์ด ์ค์ํจ (ํ๋ ฅ์ด๋ผ๋ ๋ฌธ๋ฐฑ์ ๋ฐฐ์ ํ์ง ๋ง๊ฒ)
- ํ๋ฅญํ ๊ฐ์ฒด์งํฅ์ค๊ณ
- ์ด๋ค ๊ฐ์ฒด๊ฐ ์ด๋ค ๋ฉ์ธ์ง๋ฅผ ์ ์กํ ์ ์๋๊ฐ?
- ์ด๋ค ๊ฐ์ฒด๊ฐ ์ด๋ค ๋ฉ์ธ์ง๋ฅผ ์ดํดํ ์ ์๋๊ฐ?
- ์ 2๊ฐ์ ์ง๋ฌธ์ ๋ํ ๊ณ ๋ฏผ์ ํ ๊ฒ
- ํด๋์ค๋ฅผ ์ ์ํ๋ ๊ฒ์ด ๋จผ์ ๊ฐ ์๋๋ผ ๊ฐ์ฒด์ ํ์์ ์์ฑ์ ์๋ณํ๋ ๊ฒ์ด ๋จผ์ ์ด๋ค!
- what/who ์ฌ์ดํด
- ์ด๋ค ํ์(๋ฉ์ธ์ง)๊ฐ ํ์ํ์ง ๋จผ์ ๊ฒฐ์ ํ๊ณ ์ด ํ์๋ฅผ ์ํํ ๊ฐ์ฒด๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ.
- ๋ฉ์์ง๋ฅผ ๋จผ์ ๋ฐ๊ฒฌํ๋ฉด ์์ ๊ฐ๋ฅํ ๋ฉ์ธ์ง์ ์งํฉ์ธ ๊ฐ์ฒด ์ธํฐํ์ด์ค๋ฅผ ๋ฐ๊ฒฌํ ์ ์์
- ๋ฌป์ง๋ง๊ณ ์์ผ๋ผ
- ์ก์ ์๋ ์์ ์๊ฐ ์ด๋ค ๊ฐ์ฒด์ธ์ง ๋ชจ๋ฅด์ง๋ง ์์ ์ด ์ ์กํ ๋ฉ์ธ์ง๋ฅผ ์ ์ฒ๋ฆฌํ ๊ฒ์ด๋ผ๋ ๋ฏฟ์์ ๊ฐ์ง
- ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ฒฐ์ ์ ๊ฐ์ญํ์ง ๋ง์์ผ ํจ
- ๊ฐ์ฒด๋ ์์ ์ ์ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ค๋ก ๊ฒฐ์ ์ ๋ด๋ ค์ผํจ
- ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ฌป์ง ๋ง์์ผํจ
- ๋ค๋ฅธ ๊ฐ์ฒด์ ์ํ๋ฅผ ๋ฌป๋๋ค๋ ๊ฒ์ ๋ฉ์ธ์ง ์ ์ก ์ด์ ์ ๊ฐ์ฒด๊ฐ ๊ฐ์ ธ์ผํ๋ ์ํ์ ๋ํด ๋๋ฌด ๊ณ ๋ฏผํ๊ณ ์๋ค๋ ๋ป์.
- ๋ฉ์ธ์ง๋ฅผ ์์ ํ๋ ๊ฐ์ฒด๊ฐ ์ค์ค๋ก ๋ฉ์ธ์ง ์ฒ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ฒฐ์ ํ๊ฒ ํ๋ผ
- ๊ฐ์ฒด๋ฅผ ์์จ์ ์ผ๋ก ๋ง๋ค๊ณ ์บก์ํ๋ฅผ ๋ณด์ฅํ๊ณ ๊ฒฐํฉ๋๋ฅผ ๋ฎ๊ฒ ์ ์ง ์์ผ์ค๋ค
- ์ก์ ์๋ ์์ ์๊ฐ ์ด๋ค ๊ฐ์ฒด์ธ์ง ๋ชจ๋ฅด์ง๋ง ์์ ์ด ์ ์กํ ๋ฉ์ธ์ง๋ฅผ ์ ์ฒ๋ฆฌํ ๊ฒ์ด๋ผ๋ ๋ฏฟ์์ ๊ฐ์ง
4. ๊ฐ์ฒด ์ธํฐํ์ด์ค
- ์ธํฐํ์ด์ค
- ์ผ๋ฐ๋ก
- ์ด๋ค ๋ ์ฌ๋ฌผ์ด ๋ง์ฃผ์น๋ ๊ฒฝ๊ณ ์ง์ ์์ ์๋ก ์ํธ์์ฉํ ์ ์๊ฒ ์ด์ด์ฃผ๋ ๋ฐฉ๋ฒ ์ฅ์น
- ์์
- ๊ฐ๋ฐ์๋ค์ด ๋ฏธ๋ฆฌ ์ฝ์๋ ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ค๋ฅธ ์ฌ๋์ด ์์ฑํ ์ฝ๋์ ์ํธ ์์ฉํจ
- ํน์ง
- ์ธํฐํ์ด์ค์ ์ฌ์ฉ๋ฒ์ ์ตํ๋ฉด ๋ด๋ถ ๊ตฌ์กฐ๋ ๋์๋ฐฉ์์ ๋ชจ๋ฅด๋๋ผ๋ ์ฝ๊ฒ ๋์์ ์กฐ์ํ๊ฑฐ๋ ์์ฌ๋ฅผ ์ ๋ฌ ํ ์ ์์
- ๋จ์ ๋ด๋ถ ๊ตฌ์ฑ ์๋ ๋ฐฉ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์์๊ฒ ์ด๋ค ์ํฅ๋ ๋ฏธ์น์น ์์
- ๋์์ด ๋ณ๊ฒฝ๋๋๋ผ๋ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๊ธฐ๋ง ํ๋ฉด ์๋ฌด๋ฐ ๋ฌธ์ ์์ด ์ํธ์์ฉํ ์ ์์
- ํ๋์ ์๋์ฐจ๋ฅผ ์ด์ ํ๊ธฐ ์ํ ์ธํฐํ์ด์ค์ ์ต์ํ๋ค๋ฉด ๋ค๋ฅธ ์๋์ฐจ๋ ์ด์ ํ ์ ์์
- ์ผ๋ฐ๋ก
- ๋ฉ์์ง๊ฐ ์ธํฐํ์ด์ค๋ฅผ ๊ฒฐ์
- ๊ฐ์ฒด๋ผ๋ฆฌ ์ํธ์์ฉํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ๋ฉ์ธ์ง ์ ์ก
- ๊ฐ์ฒด์ ์ธํฐํ์ด์ค๋ ๊ฐ์ฒด๊ฐ ์์ ํ ์ ์๋ ๋ฉ์ธ์ง๋ก ๊ตฌ์ฑ๋จ
- ๊ณต์ฉ ์ธํฐํ์ด์ค
- ๊ฐ์ฒด๊ฐ ํ๋ ฅ์ ์ฐธ์ฌํ๊ธฐ์ํด ์ํํ๋ ๋ฉ์์ง๊ฐ ๊ฐ์ฒด์ ๊ณต์ฉ ์ธํฐํ์ด์ค์ ๋ชจ์์ ์์ํจ
- ์ฆ, ๊ฐ์ฒด๊ฐ ์ธ๋ถ๋ก๋ถํฐ ์์ ํ ์ ์๋ ๋ฉ์ธ์ง์ ๋ชฉ๋ก!
5. ์ธํฐํ์ด์ค์ ๊ตฌํ์ ๋ถ๋ฆฌ
- ๊ฐ์ฒด์งํฅ์ ์ธ ์ฌ๊ณ ๋ฐฉ์์ ์ดํดํ๊ธฐ ์ํ 3๊ฐ์ง ์๋ฆฌ
- ์ข ๋ ์ถ์์ ์ธ ์ธํฐํ์ด์ค
- ๊ฐ์ฒด ์์จ์ฑ์ ํผ์ํ์ง ์๊ธฐ ์ํด
- ์ต์ ์ธํฐํ์ด์ค
- ์ธ๋ถ์์ ์ฌ์ฉํ ํ์๊ฐ ์๋ ์ธํฐํ์ด์ค๋ ์ต๋ํ ๋ ธ์ถํ์ง ๋ง์๋ผ
- ํ๋ ฅ์ ํ์ํ ๋ฉ์ธ์ง ์ด์ธ์ ๋ถํ์ํ ๋ฉ์ธ์ง๋ฅผ ๊ณต์ฉ ์ธํฐํ์ด์ค์ ํฌํจํ์ง ๋ง์๋ผ
- ์ธํฐํ์ด์ค์ ๊ตฌํ ๊ฐ์ ์ฐจ์ด๊ฐ ์๋ค๋ ์ ์ ์ธ์
- ๊ฐ์ฒด์ ์ธ๋ถ์ ๋ด๋ถ๋ฅผ ํ์คํ๊ฒ ๋ถ๋ฆฌํ๋ผ!
- ๊ตฌํ
- ๋ด๋ถ ๊ตฌ์กฐ์ ์๋ ๋ฐฉ์์ ๊ฐ๋ฆฌํค๋ ๊ณ ์ ์ ์ฉ์ด (implementation)
- ๊ฐ์ฒด๋ฅผ ๊ตฌ์ฑํ์ง๋ง ๊ณต์ฉ ์ธํฐํ์ด์ค์ ํฌํจ๋์ง ์๋ ๋ชจ๋ ๊ฒ
- ๊ฐ์ฒด์ ์ํ
- ๊ฐ์ฒด์ ํ๋
- ๋ฉ์ธ์ง ์ฒ๋ฆฌ ๋ฐฉ๋ฒ โ ๋ฉ์๋
- ๋ฉ์๋๋ฅผ ๊ตฌ์ฑํ๋ ์ฝ๋์์ฒด๋ ์ธ๋ถ์ ๋ ธ์ถ๋๋ ๊ฒ์ด ์๋
- ์ข ๋ ์ถ์์ ์ธ ์ธํฐํ์ด์ค
- ์ธํฐํ์ด์ค์ ๊ตฌํ์ ๋ถ๋ฆฌ ์์น
- ๋ถ๋ฆฌ๊ฐ ์ค์ํ ์ด์
- ์ํํธ์จ์ด๋ ํญ์ ๋ณํ๊ธฐ ๋๋ฌธ
- ์ด๋ค ๊ฐ์ฒด๋ฅผ ์์ ํ์ ๋ ์ด๋ค ๊ฐ์ฒด๊ฐ ์ํฅ์ ๋ฐ๋์ง ํ๋จํ๋ ๊ฒ์ด ์ด๋ ค์
- ๋ถ๋ฆฌ๊ฐ ์๊ณ ๋ชจ๋ ๊ณต๊ฐ ๋์ด์๋ค๋ฉด ํ๊ธํจ๊ณผ๊ฐ ๋ชจ๋ ๊ฐ์ฒด์ ์ ๋ฌ ๋จ
- ๊ฒฐ๊ตญ ๋ณ๊ฒฝ์ ๊ด๋ฆฌํ๊ธฐ ์ํจ
- ์ํํธ์จ์ด๋ ํญ์ ๋ณํ๊ธฐ ๋๋ฌธ
- ํ๋ฅญํ ๊ฐ์ฒด๋ ๊ตฌํ์ ๋ชจ๋ฅธ ์ฑ ์ธํฐํ์ด์ค๋ง ์๋ฉด ์ฝ๊ฒ ์ํธ์์ฉํ ์ ์๋ ๊ฐ์ฒด
- ๊ฐ์ฒด ์ค๊ณ์ ํต์ฌ์ ํ์คํ ์ธ๋ถ์ ๋ด๋ถ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋๊ฐ!
- ๊ฐ์ฒด๊ฐ ๊ฐ์ง๋ ์ํ์ ๋ฉ์๋ ๊ตฌํ์ ๋ฐ๊ฟจ๋ค๊ณ ํด์ ์ธ๋ถ ๊ฐ์ฒด์ ์ํฅ์ ์ฃผ๋ฉด ์๋จ
- ๋ณ๊ฒฝ๋ ๋งํ ๋ถ๋ถ์ ๊ฐ์ฒด ๋ด๋ถ์ ์จ๊ฒจ์ผํจ โ ์บก์ํ
- ๋ถ๋ฆฌ๊ฐ ์ค์ํ ์ด์
- ์บก์ํ(์ ๋ณด ์๋)
- ๊ฐ์ฒด ์์จ์ฑ์ ๋ณด์กดํ๊ธฐ ์ํด ๊ตฌํ์ ์ธ๋ถ์ ๊ฐ์ถ๋ ๊ฒ
- ์ฌ์ฉ ๊ด์
- ์ํ์ ํ์์ ์บก์ํ
- ๊ฐ์ฒด๋ ์ํ์ ํ์๋ฅผ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ๋ณด๊ดํจ
- ๋ฐ์ดํฐ ์บก์ํ(data encapsulation)
- ์ธ๋ถ์ ๋ฐ๋์ ๋ ธ์ถํด์ผํ๋ ํ์๋ง ๊ณต์ฉ ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ ธ์ถ ์ํด
- ๊ฐ์ฒด๋ ์ํ์ ํ์๋ฅผ ํ๋์ ๋จ์๋ก ๋ฌถ์ด ๋ณด๊ดํจ
- ์ฌ์ ์ธ ๋น๋ฐ์ ์บก์ํ
- ์ํ์ ํ์์ ์บก์ํ
6. ์ฑ ์์ ์์จ์ฑ์ด ํ๋ ฅ์ ํ์ง์ ๊ฒฐ์
- ์์จ์ ์ธ ์ฑ
์์ ํ๋ ต์ ๋จ์ํ๊ฒ ๋ง๋ฌ
- ๋ฌด์์ ์ง์คํ๋ผ
- ์์จ์ ์ธ ์ฑ
์์ ์ธ๋ถ์ ๋ด๋ถ๋ฅผ ๋ช
ํํ๊ฒ ๋ถ๋ฆฌ
- ๋ฌด์์ด ํ์คํ๋ค๋ฉด ์ด๋ป๊ฒ๋ ์จ๊ธธ ์ ์์
- ์ฑ ์์ ์ํํ๋ ๋ฐฉ๋ฒ์ ์ธ๋ถ์์ ๋ณผ์ ์์
- ๋ฌด์์ด ํ์คํ๋ค๋ฉด ์ด๋ป๊ฒ๋ ์จ๊ธธ ์ ์์
- ์์จ์ ์ธ ์ฑ ์์ ๊ฒฝ์ฐ ๋ด๋ถ์ ์ธ ๋ฐฉ๋ฒ์ ๋ณ๊ฒฝํ๋๋ผ๋ ์ธ๋ถ์ ์ํฅ ๋ฏธ์น์ง ์์
- ์์จ์ ์ธ ์ฑ
์์ ํ๋ ฅ์ ๋์์ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์
- ์ฑ ์์ ์ํํ ์ ์๋ค๋ฉด ์ด๋ค ๊ฐ์ฒด๋ ํ๋ ฅ์ ์ฐธ์ฌํ ์ ์์
- ์์จ์ ์ธ ์ฑ
์์ผ ์๋ก ๊ฐ์ฒด์ ์ญํ ์ ์ดํดํ๊ธฐ ์ฌ์์ง
- ์ฌ๋ฌ ์ฑ ์์ ์ํดํ๋ ๊ฐ์ฒด๊ฐ ์ด๋ค ์ญํ ์ ํ๊ณ ์๋์ง ํ์ ํ๊ธฐ ์ฌ์์ง
'Computer Science > Object-oriented' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ธ์ ํธ] - ์ค๊ณ ํ์ง๊ณผ ํธ๋ ์ด๋์คํ (0) | 2024.03.20 |
---|---|
[์ค๋ธ์ ํธ] - ์ญํ , ์ฑ ์, ํ๋ ฅ (0) | 2024.03.13 |
[์ค๋ธ์ ํธ] - ๊ฐ์ฒด, ์ค๊ณ (1) | 2024.02.25 |
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด - chap 6 ๊ฐ์ฒด ์ง๋ (0) | 2023.10.19 |
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด - chap4 ์ญํ , ์ฑ ์, ํ๋ ฅ (1) | 2023.10.14 |