์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- ์ฐํ ์ฝ
- ์์์๋ฐ์ด๋ธ
- ์์์ ์บ ํ
- ์ฐํ ์ฝ ๊น
- ๋คํธ์ํฌ
- ๋น์ ๊ณต์
- ์น
- ๋ฉด์
- ์์์
- http
- ๊ทธ๋ฆผ์ผ๋ก ๋ฐฐ์ฐ๋ HTTP & Network Basic
- ์ดํ
- Today
- Total
It`s all your duck๐
๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด ๋ณธ๋ฌธ
'์ฐํ ์ฝ 6๊ธฐ ์ค๋น' ์คํ์ฑํ ๋ฐฉ์์ 6๊ธฐ ์ค๋น์๋ค์ ๋ง์ ์ง๋ฌธ๋ค๋ง๋ค ์ ์ฑ์ค๋ฝ๊ฒ ๋ต๋ณ ํด์ฃผ์๋ 5๊ธฐ ๊ต์ก์๋์ด ๊ณ์ จ๋ค.
์ด ๋ถ์ด 6๊ธฐ ์ค๋น์๋ค์ ์ํด '๊ฐ์ฒด์งํฅ์ ์ฌ์ค๊ณผ ์คํด' ์ 'ํจ๊ป ์๋ผ๊ธฐ' ๋ฅผ ์ถ์ฒ ํด์ฃผ์ ์ ์ฝ๊ฒ ๋์๋ค.
์ด ๊ธฐํ์ ๊ฐ์ฒด ์งํฅ์ด ๋ฌด์์ธ์ง ์ ๋ฆฝํด ๋ณด๊ณ ์ ํ๋ค.
๐๋ณธ๋ก
๋๋ ๊ฐ์ฒด์งํฅ์ ๋ํด ์๋ฐ์ ์ ์์ ๋ฐฐ์ฐ๋ฉด์ ์๊ฒ ๋ ์บก์ํ, ์ถ์ํ, ๋คํ์ฑ๋ง ์๊ณ ์๋ ์ํ๋ก ์ฑ ์ ์ฝ์๋ค.
์ฑ ์ ์ฝ์ผ๋ฉฐ ๊ฐ์ฒด์งํฅ ์ฝ๋์ ์์๋ฅผ ์๊ฐํ๋ฉฐ ์ฝ๊ณ ์ ํ์ง๋ง ๋ด๊ฐ ์๋ ๊ฐ์ฒด์งํฅ ์ฝ๋์ ์์๊ฐ ์์๋ฆฌ๊ฐ ์์๋คใ ใ
๊ทธ๋์, ์ํ์ ๋ฉ์์ง ํํธ๋ ์ดํดํ์ง ๋ชปํ ์ฑ๋ก 1ํ๋ ์ ๋ง์ณค๋ค.
๊ฐ์ฒด์งํฅ ์ฝ๋์ ์์๋ฅผ ์์๋ณด๊ณ ์ 1ํ๋ ์ ๋๋ธ ํ ์กฐ์ํธ๋์ ์ธ๋ฏธ๋ ๊ฐ์ฐ๊ณผ ๊น์ํ๋์ ์คํ๋ง ๊ฐ์ ๊ฐ์ฒด์งํฅ ํํธ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๋ค์๊ณ 2ํ๋ ์ ํด๋ดค๋ค.
โ์ฑ ์ ๋ด์ฉ์ ์ดํดํ๊ธฐ ์ํด ์์๋ฅผ ๋ ์ฌ๋ฆฌ๋ฉฐ ์ดํดํ๋ ๊ณผ์ ์ ์ ์ ๊ธ์ด๋ผ์ ์ฑ ์ ๋ด์ฉ๋ณด๋ค๋ ์ฃผ๋ก ์ ์ ์๊ฐ์ด ๋์ต๋๋ค.
โ [ํ๋๊ณผ ์ํ๋ฅผ ํตํด ์บก์ํ๋ฅผ ์ดํดํ๊ธฐ]
ํ๋์ด ๋ฉ์๋์ด๊ณ , ์ํ๋ ๋ฉค๋ฒ ๋ณ์์ด๋ค. ํ๋๊ณผ ์ํ๋ ์์กด์ ์ด๋ค.(์์กดํ๋ค๋ ๊ด๋ จ ์๋ค๋ ๋ง๊ณผ ๋์ผ)
์ฆ, ํ๋์ ์ํด ๊ฐ์ฒด์ ์ํ๊ฐ ๊ฒฐ์ ๋๋ค โก๏ธ ๋ฉ์๋์ ์ํด ๋ฉค๋ฒ ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ค.
๋ง์ฝ ๋ฉ์๋์ ์ํด ๋ฉค๋ฒ๋ณ์๊ฐ ๋ณ๊ฒฝ๋์ง ์๋๋ค๋ฉด (ํ๋์ ์ํด ์ํ๊ฐ ๋ณ๊ฒฝ๋์ง ์๋๋ค๋ฉด) ๋ฉค๋ฒ ๋ณ์๋ ์์๋ enum์ ์ด์ฉํด์ ๊ฐ์ฒด์ ์ข ์์ ์ด์ง ์๋๋ก ์ค๊ณ ํ๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ฐ์ฒด A๋ ๊ฐ์ฒด B์ ํ๋์ ๋ณผ ์ ์์ง๋ง ํ๋์ ์ํด ๊ฐ์ฒด B๊ฐ ์ด๋ค ์ํ๋ฅผ ๊ฐ์ง๋์ง๋ ๋ชจ๋ฅธ๋ค.
์ฆ, ๋ฉ์๋๋ publicํ๊ฒ ๋ฉค๋ฒ ๋ณ์๋ private ํ๊ฒ ์ ์ด์๋ฅผ ์ค์ ํ์ฌ ์บก์ํ๋ฅผ ์ํจ๋ค.
โ [ํ๋์ ๋ง๋ ์ํ๋ฅผ ์ ์ํด์ผ ํ๋ค]
๋์ผํ ๋ฉค๋ฒ ๋ณ์์ธ ๋ฐํด(wheel)๋ฅผ ๊ฐ์ง๋ ์๋์ฐจ์ ์คํ ๋ฐ์ด๊ฐ ์๋ค๊ณ ํ์.
์ฒซ ๋ฒ์งธ๋ ์ํ์ ๋ฐ๋ผ ํ๋์ ์ ์ํ ๋์ด๋ค.
์๋์ฐจ๋ 4๊ฐ์ ๋ฐํด๋ฅผ ์ด์ฉํ๊ณ ์คํ ๋ฐ์ด๋ 2๊ฐ์ ๋ฐํด๋ฅผ ์ด์ฉํด์ ์์ง์ธ๋ค.
์ฆ, ์ํ์ ๋ฐ๋ผ ํ๋์ ์ ์ํ๋๋ movable ๋ฉ์๋๊ฐ ์๋์ฐจ ๊ฐ์ฒด์ ์คํ ๋ฐ์ด ๊ฐ์ฒด์ ๊ฐ๊ฐ ์กด์ฌํ ๊ฒ์ด๋ค(movable๋ฉ์๋ ์ค๋ณต).
๋ ๋ฒ์งธ๋ ํ๋์ ๋ฐ๋ผ ์ํ๋ฅผ ์ ์ํ ๋์ด๋ค.
์๋์ฐจ๋ ์์ง์ด๊ธฐ ์ํด 4๊ฐ์ ๋ฐํด๊ฐ ์์ผ๋ฉด ๋๋ค. ์คํ ๋ฐ์ด๋ 2๊ฐ์ ๋ฐํด๊ฐ ์์ผ๋ฉด ๋๋ค.
์ฆ, ํ๋์ ๋ฐ๋ผ ์ํ๋ฅผ ์ ์ํ๋ฉด vehicle ์ธํฐํ์ด์ค์ movable ๋ฉ์๋๋ฅผ ์ ์ํ๊ณ ์๋์ฐจ ๊ฐ์ฒด์ ์คํ ๋ฐ์ด ๊ฐ์ฒด๋ vehicle ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ฉด ๋ ๊ฒ์ด๋ค.
์ด๋ ๊ฒ ์ค๊ณํ๋ ๊ฒ์ด ๊ฐ์ฒด ์งํฅ์ ๋ชฉํ์ธ ๋คํ์ฑ์ ๋ง์กฑํ๋ค. ๊ทธ๋ฌ๋ ํ๋์ ์ฐ์ ์ผ๋ก ์ค๊ณํ์
โ [์ผ๋ฐํ/ํน์ํ์ ์ฐจ์ด]
์ดํด๋ฅผ ๋๊ธฐ ์ํด ํน์ํ๋ฅผ ๊ตฌ์ฒดํ๋ก ์ค๋ช ํ๋ค.
์๋์ฐจ ์ค์์ ์๋ฐ์ ๋ฑ๋ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ ์๋ํ๊ฐ ์๋ค๊ณ ํ์.
์ง๋ฌธ์ ๋ตํด๋ณด์.
๋ชจ๋ ์๋์ฐจ๊ฐ ์๋ํ์ ํน์ง์ธ ์๋ฐ์ ๋ฑ๋ฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฐ? ๊ทธ๋ ์ง ์๋ค.
๋ชจ๋ ์๋ํ๊ฐ ์๋์ฐจ์ ํน์ง์ธ ์์ง์ด๋ ํ๋์ด ์๋๊ฐ? ๊ทธ๋ ๋ค.
์ฆ, ์งํฉ๊ด๊ณ๋ก ํฌํํ์๋ฉด ์๋์ฐจ ⊃ ์๋ํ ์ด๋ค.
์๋์ฐจ๋ฅผ ๊ตฌ์ฒดํ ํ๋ฉด ์๋ํ์ด๋ค. ์๋ํ๋ฅผ ์ผ๋ฐํ ํ๋ฉด ์๋์ฐจ์ด๋ค.
๊ฒฐ๊ตญ ์๋ํ๋ ์๋์ฐจ๋ฅผ ์์๋ฐ์ ๊ฒ์ด๊ณ , ์๋ฐ์ ๋ฑ๋ฐ์ ๊ธฐ๋ฅ์ ํ๋ ๋ฉ์๋๋ง์ ์ถ๊ฐํ๋ฉด ๋ ๊ฒ์ด๋ค.
๊ตฌ์ฒดํ ๋ ๊ฐ์ฒด์ผ ์๋ก ๋ ๋ง์ ๋ฉ์๋๊ฐ ์๋ค.
โ [ํ์ ]
ํ๋์ ๋ฐ๋ผ ํ์ ๋ณ๋ก ๊ฐ์ฒด๋ฅผ ๋ถ๋ฅํ๋ค. ํ์ ๋ณ๋ก ๋ถ๋ฅํ ๊ฐ์ฒด๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ํ๋ด๊ธฐ ์ํด ์ฐ์ด๋ ๋๊ตฌ ์ค ํ๋๊ฐ ํด๋์ค์ด๋ค.
์ํ์ ๋ฌด๊ดํ๊ฒ ๋์ผํ๊ฒ ํ๋ํ ์ ์๋ ๊ฐ์ฒด๋ค์ ๋์ผํ ํ์ ์ ์ธ์คํด์ค๋ก ๋ถ๋ฅํ๋ค.
โ [ํ๋ ฅ]
์๋์ฐจ์ ์ผ๋ง๋ ๋ง์ ํ๋(๊ธฐ๋ฅ)๋ค์ด ์๋๋ฐ ๋ค ์ ์ํด์ผ ํ ๊น?
๋ต์ ์ฃผ์ด์ง ์ํฉ์ด๋ ๋ฌธ๋งฅ ์์์ ์๊ตฌ๋๋ ํ๋๋ค๋ง ์ ์ํ๋ฉด ๋๋ค.
์ค๋ด ๋ฎ ์ด์ ์ฐ์ต์ ์ํ ์๋น์ค๋ฅผ ๋ง๋ค์ด ๋ณธ๋ค๋ฉด ์๋์ฐจ์ ์์ดํผ ๊ธฐ๋ฅ๊ณผ ์ ์กฐ๋ฑ ๊ธฐ๋ฅ์ ํ์์๊ฒ ๋๋ค.
๋๋ก๋ฅผ ์ฃผํํ๊ธฐ ์ํด ์์ง์ด๊ณ , ๊น๋นก์ด๋ฅผ ํค๊ณ , ์ ์ ๊ณผ ๋ธ๋ ์ดํฌ๋ฅผ ๋ฐ๋ ํ๋๋ค๋ง ์์ผ๋ฉด ๋๋ค.
์ฆ, ์ฃผ์ด์ง ์ํฉ์ ๋ง๋ ๊ฐ์ฒด์ ํ๋์ ์ ์ํ๋ ๊ฒ์ด ๊ฐ์ฒด๊ฐ ์๋น์ค๋ฅผ ์ํด ํ๋ ฅํ ์ ์๋ ์ฒซ ๊ฑธ์์ด๋ค.
โ [์ฑ ์]
์ค๋ด ๋ฎ ์ด์ ์ฐ์ต์ด๋ ์๋น์ค์ ํ๋ ฅํ๊ธฐ ์ํด vehicle์ด ํ์ํ๋ค. vehicle์ movableํ ์ฑ ์์ ๊ฐ๊ณ ์์ด์ผ ํ๊ณ , ์ด ์ฑ ์์ ์๋ง๋ ์ญํ ์ด ์๋์ฐจ ๊ฐ์ฒด์ด๋ค. ๊ทธ๋ ๊ฒ movableํ ์ฑ ์์ ์๋์ฐจ๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์๋์ฐจ์ ๊ตฌํํ๋ค.
์ฑ ์์ '์ด๋ป๊ฒ ํด์ผ ํ๋๊ฐ' ๊ฐ ์๋๋ผ '๋ฌด์์ ํด์ผ ํ๋๊ฐ'๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ์ฌํด์ผ ํ๋ค.
์๋ชป๋ ์ - ์๋์ฐจ๋ ์์ง์ผ ๋ 4๊ฐ์ ๋ฐํด๋ฅผ ์ด์ฉํ๋ค.
์ณ์ ์ - ์๋์ฐจ๋ ์์ง์ฌ์ผ ํ๋ค.
์๋์ฐจ๋ฅผ ์คํ ๋ฐ์ด๋ก ๋ฐ๊ฟ๋ง ๋ณด์๋ ์ด๋ค ๊ฒ์ด ์ณ์ ์ง๋ฅผ ์ ์๊ฐ ์๋ค.
โ [๋์ผํ ์ฑ ์์ ์ญํ , ๋์ฒด ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค]
์ค๋ด ์ด์ ์ฐ์ต์ ์คํ ๋ฐ์ด๋ก ํ๊ณ ์ถ๋ค. ์๋์ฐจ๋ฅผ ์คํ ๋ฐ์ด๋ก ๋ฐ๊พธ๊ธฐ๋ง ํ๋ฉด ๋๋ค.
์คํ ๋ฐ์ด๋ ์์ง์ผ ์ฑ ์์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฆ, ๋์ผํ ์ฑ ์์ ์ํํ ์ ์๋ ๊ฐ์ฒด๋ก ๋์ฒดํ ์ ์๋ ๊ฒ์ ๊ฐ์ฒด ์งํฅ์ ์ ์ฐ์ฑ, ์ฌ์ฌ์ฉ์ฑ์ ๋ณด์ฌ์ค๋ค.
โ [๋์ผํ ์ฑ ์์ ์ํํ์ฌ ๋์ฒด ๊ฐ๋ฅํ ๊ฒ์ ๋คํ์ฑ์ด๋ค]
์ค๋ด ์ด์ ์ฐ์ต์ฅ ์๋น์ค์ 'movable' ์ด๋ผ๋ ๋ฉ์์ง์ ์ฑ ์์ ์ํํ ์ญํ ์ ์๋์ฐจ, ํธ๋ญ, ์คํ ๋ฐ์ด ๋ฑ ๋ค์ํ๋ค.
์๋์ฐจ, ํธ๋ญ, ์คํ ๋ฐ์ด๋ 'movable' ์ด๋ผ๋ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ ๋ค๋ฅด์ง๋ง, ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๊ณตํต์ ์ด ์๋ค. ์ด๋ ์๋์ฐจ, ํธ๋ญ, ์คํ ๋ฐ์ด๋ ์๋ก ๋์ฒด๊ฐ๋ฅ์ฑ์ ์๋ฏธํ๊ณ ์ด๋ฅผ ๋คํ์ฑ์ด๋ผ ํ๋ค.
โ [๊ตฌํ ๋์ค์ ์ค๊ณ๋ ๋ฐ๋ ์ ์๋ค]
์ค๊ณ๋ ์ฝ๋๋ก ๊ตฌํํ๋ ๊ณผ์ ์์ ๋๋ถ๋ถ ๋ณ๊ฒฝ๋๋ค. ๊ทธ๋ฌ๋ ํ๋ ฅ์ ๊ตฌ์ํ๋ ๋จ๊ณ์์ ๋ง์ ์๊ฐ์ ์์ง ๋ง๊ณ ์ต๋ํ ๋นจ๋ฆฌ ์ฝ๋๋ก ๊ตฌํํด์ ์ค๊ณ์ ์ด์์ด ์๋์ง, ์ค๊ณ๊ฐ ๊ตฌํ ๊ฐ๋ฅํ์ง๋ฅผ ํ์ ํด์ผ ํ๋ค.
โ [ํจํค์ง]
ํจํค์ง๋ ๋ด๋ถ์ ํฌํจ๋ ํด๋์ค๋ค์ ๊ฐ์ถค์ผ๋ก์จ ์์คํ ์ ๊ตฌ์กฐ๋ฅผ ์ถ์ํํ๋ค.
์์คํ ์ ๋ฐ๋ผ๋ณผ ๋, ๊ฐ์ ํ์๋ฅผ ํ๋ ํด๋์ค๋ค์ ํ๋์ ํจํค์ง์ ๋ฃ์์ผ๋ก์จ ํจํค์ง๋ง ๋ณด๋๋ผ๋ ํ๋ ฅ์ ๋ฐฉํฅ์ ์ ์ ์๊ฒ ํด์ฃผ๊ธฐ.
โ [๋ฉ์์ง]
"์์ ๋ชจ์์ฅ์์๊ฒ ์ฆ์ธํ๋ผ" ๋ผ๋ ๋ฉ์์ง๊ฐ ์๋ค. ์ด๋ฅผ ์ฝ๋๋ก ๋ํ๋ด๋ฉด King ๊ฐ์ฒด ์์๋ ManOnHat.testify(); ๊ฐ ์๊ฒ ๋ค. ๊ทธ๋ฌ๋ฉด ๋ชจ์์ฅ์๋ ์ฆ์ธํ ์ฑ ์์ด ์๊ณ , ์ฆ์ธํ ์ฑ ์์ ๊ณง ๋ชจ์์ฅ์ ๊ฐ์ฒด๊ฐ testify ๋ ๋ฉ์๋๊ฐ ๊ฐ์ง๊ฒ ํ๋ค.
→ void testify(){...} ๋ ๋ฉ์๋์ ๊ตฌํ ๋ฐฉ์์ ๋ชจ์์ฅ์ ๋ง์์ด๋ค!
๋ง์ฝ, ์์ด ๋ชจ์์ฅ์์๊ฒ "์ด๋์, ๋ฌด์์" ์ ํฌํจํด์ ์ฆ์ธํ๋ผ์ ๊ฐ์ด ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ฅผ ์๊ตฌํ๋ค๋ฉด ์๊ตฌํ๋ ์ ๋ณด๋ค์ ์ธ์์ ๋ฃ์ด ๋ฉ์์ง๋ฅผ ์์ฑํ๋ฉด ๋๋ค. → void testify(place, what)
๋ฉ์์ง๋ฅผ ๊ฒฐ์ ํ๊ธฐ ์ ๊น์ง๋ ๊ฐ์ฒด์ ๊ดํด ๊ณ ๋ฏผํ์ง ๋ง๊ธฐ~!
๐ ํ๊ธฐ
์ฑ ์ ์ฝ๊ธฐ ์ ์๋ ์ ๋ง ๊ฐ์ฒด์งํฅ์ ๋ํด ๋ฌด์งํ๋ค๊ณ ์๋ถํ ์ ์์์ง๋ง, ๊ฐ์ฒด์งํฅ์ ๋ฐ๋ผ๋ณด๋ ํ๋ ๋ฐ ์ ๊ทผ๋ฒ์ ๋ํด ํ์คํ๊ฒ ์๊ฒ ๋์๋ค.
1ํ๋ ์ ์ ๋ง ์ถ์์ ์ธ ์ฑ ์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ด ๋๋ฃจ๋ญ์ ํ๊ฒ ์ดํดํ๋ค๋ ๋๋์ด ๋ค์๋ค.
๊ทธ๋ฌ๋, 2ํ๋ ์ ์์๋ฅผ ์๊ฐํ๋ฉฐ ์ฝ๊ฒ ๋์ด ์ฑ ์ด ๋งํ๊ณ ์ ํ๋ ๋ฐ๋ฅผ ์ดํดํ๊ฒ ๋์๋ค!
๊ฐ์ฒด์งํฅ์ ์ ๋ฌธ์๋ก ๋ค๋ค ์ถ์ฒํ๋ ์ด์ ๊ฐ ์๋ค๐ค
'๋์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
'ํจ๊ป ์๋ผ๊ธฐ'๋ฅผ ์ฝ๊ณ (2) | 2023.09.06 |
---|---|
์์์ ๋ฐ์ด๋ธ - ์์์ ์บ ํ ํ๊ธฐ (0) | 2023.08.31 |