๋ถ๋ก B๋ ์์์ด ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํ์ ๊ณ์ธต์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํ๋ค.
๋ถ๋ก C๋ ๋์ ์ธ ํ๋ ฅ์ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ์ธ ์ฝ๋๋ฅผ ๊ตฌ์ฑํด์ผ ํ๋ ์ด์ ์ ๋ํด ์ค๋ช ํ๋ค.
ํ์ ๊ณ์ธต์ ๊ตฌํ
ํด๋์ค๋ฅผ ์ด์ฉํ ํ์ ๊ณ์ธต ๊ตฌํ
- ๊ฐ์ฒด์งํฅ ์ธ์ด์์ ํด๋์ค๋ ์ฌ์ฉ์ ์ ์ ํ์ (user-defined data type)์ด๊ณ , ํด๋์ค๋ ๊ฐ์ฒด์ ํ์ ๊ณผ ๊ตฌํ์ ๋์์ ์ ์ํ๋ ๊ฒ์ด๋ค.
- ํด๋์ค๋ฅผ ์ด์ฉํ ํ์ ๊ณ์ธต์ ์์์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์์์ ์ด์ฉํ ๊ฒฝ์ฐ, ์์ํด๋์ค๋ ๋ถ๋ชจ ํด๋์ค์ ๊ตฌํ๊ณผ ํผ๋ธ๋ฆญ ์ธํฐํ์ด์ค ๋ชจ๋ ๋ฌผ๋ ค๋ฐ์ ์ ์์ด ํ์ ๊ณ์ธต์ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ง๋ง ์์ํด๋์ค์ ๋ถ๋ชจํด๋์ค๋ฅผ ๊ฐํ๊ฒ ๊ฒฐํฉ์ํค๊ธฐ ๋๋ฌธ์ ๋๋๋ก์ด๋ฉด ์ถ์ ํด๋์ค๋ ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํด์ ํ์ ๊ณ์ธต์ ๊ตฌํํ๋ ๊ฒ์ด ์ข๋ค.
์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ํ์ ๊ณ์ธต ๊ตฌํ
- ์ฌ๋ฌ ํด๋์ค๊ฐ ๋์ผํ ํ์ ์ ๊ตฌํํ ์ ์๋ค.
- ํ๋์ ํด๋์ค๊ฐ ์ฌ๋ฌ ํ์ ์ ๊ตฌํํ ์ ์๋ค.
์ถ์ ํด๋์ค๋ฅผ ์ด์ฉํ ํ์ ๊ณ์ธต ๊ตฌํ
- ์ถ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์์กดํ๋ ๋์์ด ๋ ์ถ์์ ์ด๊ธฐ ๋๋ฌธ์ ๊ฒฐํฉ๋๋ ๋ฎ์์ง๊ณ ๋ณ๊ฒฝ์ ์ํ ์ํฅ์ด ์ค์ด๋ ๋ค.
- ์ถ์ ํด๋์ค๋ฅผ ์ฌ์ฉํด ํ์ ๊ณ์ธต์ ๊ตฌํํ๋ ๊ฒฝ์ฐ, ์์์ ์๊ฐํ๊ณ ์ค๊ณ๋ ํด๋์ค ์ด๊ธฐ ๋๋ฌธ์ ์์ ๊ณ์ธต์ ์ฝ๊ฒ ํ์ฅํ ์ ์๊ณ ๊ฒฐํฉ๋๋ก ์ธํ ๋ถ์์ฉ์ ๋ฐฉ์งํ ์ ์๋ค.
์ถ์ ํด๋์ค์ ์ธํฐํ์ด์ค ๊ฒฐํฉํ๊ธฐ
- ์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํด ํ์ ์ ์ ์ํ๊ณ ํน์ ์์ ๊ณ์ธต์ ๊ตญํ๋ ์ฝ๋๋ฅผ ๊ณต์ ํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ถ์ ํด๋์ค๋ฅผ ์ด์ฉํด ์ค๋ณต์ฝ๋๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ์์ ๊ณจ๊ฒฉ ๊ตฌํ ์ถ์ ํด๋์ค(skeletal implementation abstract class)๋ผ๊ณ ํ๋ค.
์๋ฐ 8์ ๋ํดํธ ๋ฉ์๋
- ์ธํฐํ์ด์ค์ ๋ฉ์๋์ ๊ธฐ๋ณธ ๊ตฌํ์ ์ถ๊ฐํ๋ ๊ฒ์ ํ์ฉํ๋ค.
- ์ถ์ ํด๋์ค๊ฐ ์ ๊ณตํ๋ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ๊ณผ ํน์ ํ ์์ ๊ณ์ธต์ ์ฝ๋งค์ด์ง ์๋ ์ธํฐํ์ด์ค์ ์ฅ์ ์ ๋ชจ๋ ์ทจํ ์ ์๋ค.
- ๋จ, ๋ํดํธ ๋ฉ์๋๋ก ์ถ์ ํด๋์ค๋ฅผ ๋์ฒดํ ๊ฒฝ์ฐ, ์ธํฐํ์ด์ค๊ฐ ๋ถํ์ํ๊ฒ ์ปค์ง๋ฉฐ ์บก์ํ๊ฐ ์ฝํ๋ ์ ์๋ค.
- ๋ํดํธ ๋ฉ์๋์ ์ถ๊ฐ ์ด์ ๋, ์ถ์ ํด๋์ค์ ๋์ฒด๊ฐ ์๋๋ผ, ๊ธฐ์กด์ ์ฌ์ฉ๋๊ณ ์๋ ์ธํฐํ์ด์ค์ ์๋ก์ด ์คํผ๋ ์ด์ ์ ์ถ๊ฐํ ๊ฒฝ์ฐ์ ๋ฐ์ํ๋ ํ์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ค.
์ด๋ค ํ์ ์ด ๋ค๋ฅธ ํ์ ์ ์๋ธํ์ ์ด ๋๋ ค๋ฉด ๋ฆฌ์ค์ฝํ ์นํ ์์น์ ์ค์ํด์ผ ํ๋ค.
๋์ ์ธ ํ๋ ฅ, ์ ์ ์ธ ์ฝ๋
๋์ ๋ชจ๋ธ(dynamic model) : ํ๋ก๊ทธ๋จ ์คํ ๊ตฌ์กฐ๋ฅผ ํํํ๋ ์์ง์ด๋ ๋ชจ๋ธ, ๊ฐ์ฒด์ ํ๋ ฅ์ผ๋ก ๊ตฌ์ฑ๋จ
์ ์ ๋ชจ๋ธ(static model) : ์ฝ๋์ ๊ตฌ์กฐ๋ฅผ ๋ด๋ ๊ณ ์ ๋ ๋ชจ๋ธ, ํ์ ๊ณผ ๊ด๊ณ๋ก ๊ตฌ์ฑ๋จ
์ข์ ์ค๊ณ๋ ๊ฐ์ฒด ์ฌ์ด์ ํ๋ ฅ๊ณผ ํ๋์ ํํํ๋ ๋์ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํด์ผ ํ๋ค(p.602).
๋๋ฉ์ธ ๋ชจ๋ธ์ด๋?
- ๋๋ฉ์ธ์ ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๋์ ์์ญ์ ๊ฐ๋ฆฌํจ๋ค.
- ๋ชจ๋ธ์ด๋ ์ง์์ ์ ํ์ ์ผ๋ก ๋จ์ํํ๊ณ ์์์ ์ผ๋ก ๊ตฌ์กฐํํ ํํ์ด๋ค.
- ๋๋ฉ์ธ ๋ชจ๋ธ์ด๋ ์ฌ์ฉ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ ๋์ ์์ญ์ ๋ํ ์ง์์ ์ ํ์ ์ผ๋ก ๋จ์ํํ๊ณ ์์์ ์ผ๋ก ๊ตฌ์กฐํํ ํํ์ด๋ค.
๋ถ์ ๋ชจ๋ธ, ์ค๊ณ ๋ชจ๋ธ, ๊ทธ๋ฆฌ๊ณ ๊ตฌํ ๋ชจ๋ธ, ์ ์ฒด ๊ฐ๋ฐ ๋จ๊ณ์ ๊ฑธ์ณ ํ๋๊ณผ ๋ณ๊ฒฝ์ ์ด์ ์ ๋ง์ถ์ด ์ค๊ณ๋ฅผ ํด์ผ ํ๋ค.
'์คํฐ๋ > ์ค๋ธ์ ํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๋ธ์ ํธ] ๋ถ๋ก A '๊ณ์ฝ์ ์ํ ์ค๊ณ' (0) | 2023.02.03 |
---|---|
[์ค๋ธ์ ํธ] 15์ฅ '๋์์ธ ํจํด๊ณผ ํ๋ ์์ํฌ' (0) | 2023.01.21 |
[์ค๋ธ์ ํธ] 14์ฅ '์ผ๊ด์ฑ ์๋ ํ๋ ฅ' (0) | 2023.01.14 |
[์ค๋ธ์ ํธ] 13์ฅ '์๋ธํด๋์ฑ๊ณผ ์๋ธํ์ดํ' (0) | 2023.01.06 |
[์ค๋ธ์ ํธ] 12์ฅ '๋คํ์ฑ' (0) | 2022.12.30 |
๋๊ธ