๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
์ถ์ํ
- ๊ตฌ์ ์ฒ์ด์ง ์๊ฒ, ๊ณตํต์ ๋ฝ์๋ด๊ธฐ.
- ๋จ์ : ๊ฐ์ฒด ์ผ๋ถ ๊ธฐ๋ฅ๋ง ์ฌ์ฉํจ.
- ์ฅ์ : ๊ตฌ์ฒด์ ์ธ ๊ตฌํ์ ์จ๊ธฐ๊ณ ํต์ฌ ๊ฐ๋ ์ด๋ ๊ธฐ๋ฅ์ ์ง์คํ ์ ์์.
๋คํ์ฑ
- ์กฐ์ํด๋์คํ์
์ ์ฐธ์กฐ๋ณ์๋ก ์์ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ฒ(์ฐธ์กฐํ๋ ๊ฒ)
์ฐธ์กฐ๋ณ์์ ํ๋ณํ
- ์๋ก ์์๊ด๊ณ์ผ๋๋ง ๊ฐ๋ฅํจ.
- ํ๋ณํ์ ์ฐธ์กฐ๋ณ์์ ํ์ ์ ๋ณํO, ์ธ์คํด์ค๋ณํX
- ๋จ์ง ์ฐธ์กฐํ๊ณ ์๋ ์ธ์คํด์ค์์ ์ฌ์ฉํ ์ ์๋ ๋ฉค๋ฒ์ ๊ฐ์๋ฅผ ์กฐ์ ํ๊ธฐ ์ํ ๊ฒ.
- ์์ํ์ ์ ์ฐธ์กฐ๋ณ์๋ฅผ ์กฐ์ํ์ ์ผ๋ก ํ๋ณํ ํ๋ ๊ฒฝ์ฐ์๋ ์๋ต์ด ๊ฐ๋ฅํจ.
instanceof ์ฐ์ฐ์
- ์ฐธ์กฐ๋ณ์๊ฐ ์ฐธ์กฐํ๊ณ ์๋ ์ธ์คํด์ค์ ์ค์ ํ์
์ ํ์ธํ๊ธฐ ์ํ ๊ฒ.
- ์์: Tvํ์ ์ ์ฐธ์กฐ๋ณ์ t๊ฐ CaptionTv์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ๋์ง, Tv์ธ์คํด์ค๋ฅผ ์ฐธ์กฐํ๋์ง ์์์ผ CaptionTvํ์ ์ ์ฐธ์กฐ๋ณ์ ct์๊ฒ ์ฃผ์์ ๋ฌ์ด ๊ฐ๋ฅ/๋ถ๊ฐ๋ฅํ์ง ์ ์ ์๊ธฐ ๋๋ฌธ์.(=ํ๋ณํ=์์๊ด๊ณ๊ฐ์ ์ธ์คํด์ค์ฃผ์์ ๋ฌ)
์ฐธ์กฐ๋ณ์์ ์ธ์คํด์ค์ ์ฐ๊ฒฐ
- ๋ฉ์๋๋ ํญ์ ๋์ค์ ์๊ธด ๊ฒ. ์ฐธ์กฐ๋ณ์ ํ์ ์๊ด ์์ด ์ค์ ์ธ์คํด์ค์ ํ์ ์ธ ์์ํด๋์ค์ ์ ์๋ ๋ฉ์๋๊ฐ ํธ์ถ๋จ.
๋คํ์ฑ
๋คํ์ฑ์ ์ฅ์
- โ ๋งค๊ฐ๋ณ์์ ๋คํ์ฑ ์ ์ฉํ๊ธฐ
- ํ๋์ ๋ฉ์๋๋ก ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋ ๊ฐ์ฒด์ ์์ ํ์ ์ธ์คํด์ค๋ฉด ์ด๋ ๊ฒ์ด๋ ๋ฐ์๋ค์ผ ์ ์์.
- ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๊ฐ Aํ์ ์ ์ฐธ์กฐ๋ณ์๋ผ๋ฉด ์ด ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ก Aํ์ ์ ์์ํ์ ์ฐธ์กฐ๋ณ์๋ ์ด๋ ๊ฒ์ด๋ ๋งค๊ฐ๋ณ์๋ก ๋ฐ์๋ค์ผ ์ ์๋ ๊ฒ.
- void method ( A a ) { ... }
- โก์ฌ๋ฌ ์ข
๋ฅ์ ๊ฐ์ฒด ๋ฐฐ์ด๋ก ๋ค๋ฃจ๊ธฐ
- ๊ณตํต์กฐ์์ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ๋ค๋ฃฐ ์ ์์.
- ์กฐ์ํ์ ์ ์ฐธ์กฐ๋ณ์ ๋ฐฐ์ด์ ์ ์ธํด์, ๊ณตํต์กฐ์์ ๊ฐ์ง ์๋ก ๋ค๋ฅธ ์ข ๋ฅ์ ๊ฐ์ฒด๋ค์ ๋ฐฐ์ด๋ก ๋ฌถ์ ์ ์์.
์ถ์ํด๋์ค
- ์ผ๋ฐํด๋์ค์ ์ ์ฌํ์ง๋ง ๋ฏธ์์ฑ ๋ฉ์๋(์ถ์๋ฉ์๋)๋ฅผ ํฌํจํ๊ณ ์์.
- ์๋ก์ด ํด๋์ค๋ฅผ ์์ฑํ๋๋ฐ ์์ด์ ๋ฐํ์ด ๋๋ ์กฐ์ํด๋์ค๋ก์ ์ค์ํ ์๋ฏธ๋ฅผ ๊ฐ์ง.
- ํ์ํด๋์ค์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์๋ ํ๋์ ๋ฉ์๋๋ฅผ ์ ์ํจ.
- ํค์๋ abstect๋ฅผ ๋ถ์.
- ์์ฑ์, ๋ฉค๋ฒ๋ณ์, ๋ฉ์๋๋ฅผ ๊ฐ์ง ์ ์์.
- ๊ทธ๋ฌ๋ ์ธ์คํด์ค ์์ฑ์ ํ ์ ์์. ์ถ์ํด๋์ค๋ ๋ฏธ์์ฑํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ์์ฒด์ ์ผ๋ก ์์ ํ ๊ฐ์ฒด๊ฐ ๋ ์ ์์. ๊ฐ์ฒด ์์ฑ X์ถ์๋ฉ์๋
- ๋ฉ์๋ ๋ด์ฉ์ด ์์๋ฐ๋ ํด๋์ค์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ธ๋ถ๋ง ์์ฑํ๊ณ , ์ฃผ์์ผ๋ก ์ด๋ค ๊ธฐ๋ฅ์ ์ํํ ๋ชฉ์ ์ผ๋ก ์์ฑ๋์๋์ง ์๋ ค์ค.
- ์ค์ ๋ด์ฉ์ธ ๊ตฌํ๋ถ๋ ์์๋ฐ๋ ํด๋์ค์์ ๊ตฌํํ๋๋ก ๋น์๋๊ณ ๊ตฌํ๋ถ๊ฐ ์์ผ๋ฏ๋ก { }๊ดํธ ๋์ ;๋ฅผ ๋ถ์ฌ์ค.
- ๊ตณ์ด abstract๋ฅผ ๋ถ์ฌ์ ์ถ์๋ฉ์๋๋ก ์ ์ธํ๋ ์ด์ ๋ ์์ํด๋์ค์์ ์ถ์๋ฉ์๋๋ฅผ ๋ฐ๋์ ๊ตฌํํ๋๋ก ๊ฐ์ ํ๊ธฐ ์ํด์์.
์ธํฐํ์ด์ค
์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ๋ค์ค์์
- (๊ณตํต )์ธํฐํ์ด์ค์ ์ถ์๋ฉ์๋ ์ธํฐํ์ด์ค์ ์ถ์๋ฉ์๋
- ํด๋์ค๊ฐ ์ธํฐํ์ด์ค์ ์กฐ์ ํด๋์ค๋ฅผ ๋์์ ์์ํ๊ณ , ์์ ๋ฐ์ ์ธํฐํ์ด์ค์ ์กฐ์ ํด๋์ค์ ๊ฐ์ ์ด๋ฆ์ ์ถ์ ๋ฉ์๋๊ฐ ์๋ ๊ฒฝ์ฐ
- โ . ํด๋์ค์์ ์ง์ ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ฉด (๋ฉ์๋์ค๋ฒ๋ผ์ด๋ฉํ๋ฉด), ํด๋์ค์์ ์ง์ ํด๋น ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ฉด ์ธํฐํ์ด์ค์ ์ถ์ ๋ฉ์๋๋ ๋ฌด์๋๊ณ , ํด๋น ํด๋์ค์ ๋ฉ์๋๊ฐ ํธ์ถ๋จ.
- โกํด๋์ค์์ ์ง์ ํด๋น ๋ฉ์๋๋ฅผ ๊ตฌํํ์ง ์์ผ๋ฉด, ์กฐ์ ํด๋์ค์ ๋ฉ์๋๊ฐ ์ฐ์ ์ ์ผ๋ก ํธ์ถ๋๋ ๊ฒ์ด ์ผ๋ฐ์ . ์ธํฐํ์ด์ค์ ์ถ์ ๋ฉ์๋๋ ๋ฌด์๋๊ณ , ์กฐ์ ํด๋์ค์ ๋ฉ์๋๊ฐ ํธ์ถ๋จ.
์ธํฐํ์ด์ค๋ฅผ ์ด์ฉํ ๋คํ์ฑ
- ์ธํฐํ์ด์ค ์ญ์ ์ด๋ฅผ ๊ตฌํํ ํด๋์ค์ ์กฐ์์ด๋ผ ํ ์ ์์ผ๋ฏ๋ก, ํด๋น ์ธํฐํ์ด์ค ํ์ ์ ์ฐธ์กฐ๋ณ์๋ก ์ด๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ์ฐธ์กฐ ๊ฐ๋ฅํจ.
- ์ธํฐํ์ด์คํ์
์ผ๋ก์ ํ๋ณํ๋ ๊ฐ๋ฅํจ.
- โ ๋งค๊ฐ๋ณ์๊ฐ ์ธํฐํ์ด์ค ํ์
- ๋ฉ์๋ ํธ์ถ ์ ํด๋น์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๊ณตํจ.
- ๋ฉ์๋ ํธ์ถ ์ ํด๋น์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋งค๊ฐ๋ณ์๋ก ์ ๊ณตํจ.
- โก๋ฐํํ์
์ด ์ธํฐํ์ด์ค ํ์
- ๋ฉ์๋๊ฐ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ฐํํจ.
- ๋ฉ์๋๊ฐ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ ์ธ์คํด์ค๋ฅผ ๋ฐํํจ.
์ธํฐํ์ด์ค์ ์ฅ์
- ๊ฐ๋ฐ์๊ฐ ๋จ์ถ
- ๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์ชฝ์์ ๋ฉ์๋ ๋ด์ฉ๊ณผ ๊ด๊ณ์์ด ์ ์ธ๋ถ๋ง ์์๋ ์์ฑ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ
- ํ์คํ ๊ฐ๋ฅ
- ๊ธฐ๋ณธํ์ ์ธํฐํ์ด์ค๋ก ์์ฑํ๋ฉด ์ผ๊ด๋๊ณ ์ ํํ๋ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ด ๊ฐ๋ฅํจ
- ์๋ก ๊ด๊ณ์๋ ํด๋์ค๋ค์ ๊ด๊ณ๋ฅผ ๋งบ์ด์ค ์ ์์
- ํ๋์ ์ธํฐํ์ด์ค๋ฅผ ๊ณตํต์ ์ผ๋ก ๊ตฌํํ๊ฒํ๋ฉด ๊ด๊ณ๋งบ์ด์ฃผ๊ธฐ๊ฐ ๊ฐ๋ฅํจ.
- ๋
๋ฆฝ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅ
- ์ ์ธ/๊ตฌํ์ด ๋ถ๋ฆฌ๋์ด ์ค์ ๊ตฌํ์ ๋ ๋ฆฝ์ ์ธ ๊ทธ๋ก๊ทธ๋๋ฐ์ด ๊ฐ๋ฅ. ํด๋์ค๊ฐ์ ์ง์ ๊ด๊ณ๋ฅผ ๊ฐ์ ๊ด๊ณ๋ก ๋ณ๊ฒฝํ๋ฉด ๋ค๋ฅธ ํ ์ชฝ์ ๋ณ๊ฒฝ์ด ์ํฅ์ ๋ฏธ์น์ง ์์.
- ์์ ๊ทธ๋ฆผ์์ C, D์๋ง ์๋ก์ด ๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ ๋
- โ ์ํ๋ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ์ ์ธํฐํ์ด์ค ์ ์
- โก์ด ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ Fํด๋์ค ์์ฑ
- โขํด๋์ค C,D๊ฐ ์ ์ธํฐํ์ด์ค ๊ตฌํ & ์ธํฐํ์ด์ค ๊ตฌํํ Fํด๋์ค๋ฅผ ํฌํจํ๋๋ก ํ๊ณ → ๋ด๋ถ์ ์ผ๋ก ํธ์ถํด์ ์ฌ์ฉํ๋ฉด ๋จ.
์ธํฐํ์ด์ค์ ์ดํด
- ํด๋์ค๋ฅผ ์ฌ์ฉํ๋์ชฝ, ํด๋์ค๋ฅผ ์ ๊ณตํ๋์ชฝ์ด ์์.
- ๋ฉ์๋๋ฅผ ์ฌ์ฉ(ํธ์ถ)ํ๋ ์ชฝ์์๋ ๋ฉ์๋์ ์ ์ธ๋ถ๋ง ์๋ฉด ๋จ.
- ์ง์ ๊ฒฐํฉ,๊ฐํ๊ฒฐํฉ์ผ ๋ ์ธํฐํ์ด์ค๋ฅผ ํ์ฉํ๋ฉด ๊ฐ์ ๊ฒฐํฉ,์ ์ฐํ๊ฒฐํฉ์ผ๋ก ๋ฐ๊ฟ ์ ์์.
์ถ์ํด๋์ค vs ์ธํฐํ์ด์ค
)
๋ํดํธ ๋ฉ์๋
- “์ธํฐํ์ด์ค์์ ๋ฉ์๋๋ฅผ ์ถ๊ฐ”= ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค์ด ์๋ก์ด ๋ฉ์๋๋ฅผ ๊ตฌํํด์ผํจ.์ด๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ํด๋์ค๋ค์๊ฒ ๋งค์ฐ ๋ถ๋ด์.
- ์ธํฐํ์ด์ค๋ฅผ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒ์ด ์ต์ ์ด์ง๋ง ๋ณํ๊ฐ ์๊ธธ ์ ์์. ๊ทธ๋์ ๋ํดํธ๋ฉ์๋๋ฅผ ๋ง๋ฆ.
- ๋ํดํธ ๋ฉ์๋๋ ์ถ์๋ฉ์๋์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌํ์ ์ ๊ณตํ๋ ๋ฉ์๋.
- ์ถ์๋ฉ์๋๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ์๋ก ์ถ๊ฐ๋์ด๋ ํด๋น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ค์ด ๋ณ๊ฒฝํ์ง ์์๋๋จ.
- public default void method() { ... }
๋ฉ์๋์ ์ด๋ฆ ์ค๋ณต ์
๋ด๋ถํด๋์ค
๋ด๋ถํด๋์ค
- ํด๋์ค ๋ด์ ์ ์ธ๋ ํด๋์ค.
- ๋ ํด๋์ค๊ฐ ์๋ก ๊ธด๋ฐํ ๊ด๊ณ์ผ ๋ ํ์ชฝ์ ๋ด๋ถํด๋์ค๋ก ํฌํจํจ.
- ๋ด๋ถํด๋์ค๋ ์ ์ธ ์์น์ ๋ฐ๋ผ ์ข ๋ฅ๊ฐ ๋ค๋ฆ.
๋ด๋ถํด๋์ค์ ์ฅ์
- ๋ด๋ถํด๋์ค์์ ์ธ๋ถํด๋์ค์ ๋ฉค๋ฒ๋ค์ ์ฝ๊ฒ ์ ๊ทผ ๊ฐ๋ฅํจ.
- ์ฝ๋์ ๋ณต์ก์ฑ์ ์ค์ฌ์ค.
- ์ธ๋ถ๋ก๋ถํฐ ๋ถํ์ํ ํด๋์ค๋ฅผ ๊ฐ์ถค=(์บก์ํ).
์ ์ธ์์น์ ๋ฐ๋ฅธ ๋ด๋ถํด๋์ค
- ์ธ์คํด์คํด๋์ค
- ์ธ์คํด์ค๋ณ์์ ๊ฐ์ ์ฑ์ง,๊ท์น์ ๊ฐ์ง.
- ์คํํฑํด๋์ค
- ์คํํฑ๋ณ์์ ๊ฐ์ ์ฑ์ง,๊ท์น์ ๊ฐ์ง.
- ๋ฉค๋ฒ๋ณ์์ ๊ฐ์ ์ฑ์ง๊ณผ ๊ท์น์ ๊ฐ์ง๋ค๋ ๊ฒ์abstract, final, private, protected๋ฅผ ๋ถ์ผ ์ ์๋ ๊ฒ.
- ์ง์ญํด๋์ค
- ์ธ๋ถํด๋์ค์ ๋ฉ์๋๋ ์ด๊ธฐํ ๋ธ๋ก ์์ ์ ์ธํจ.
- ์ง์ญํด๋์ค๋ ์ธ๋ถํด๋์ค์ ์ธ์คํด์ค๋ฉค๋ฒ์ ์คํํฑ๋ฉค๋ฒ๋ฅผ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํจ.
- ์ง์ญํด๋์ค๊ฐ ํฌํจ๋ ๋ฉ์๋์ ์ ์๋ final์ด ๋ถ์ ์ง์ญ๋ณ์๋ ์ฌ์ฉ ๊ฐ๋ฅํจ.
- ์ต๋ช
ํด๋์ค
- ํด๋์ค ์ ์ธ๊ณผ ๊ฐ์ฒด์์ฑ์ ๋์์ ํ๋ ๊ฒ.
- ๋ฐ๋ผ์ ๋จ ํ๋ฒ๋ง ์ฌ์ฉ, ์ค์ง ํ๋์ ๊ฐ์ฒด๋ง ์์ฑ.
- ์ผํ์ฉ ํด๋์ค.
- new ๋น๋ ค์ด์ด๋ฆ ( ) {...}
- ๋น๋ ค์ด์ด๋ฆ: ์กฐ์ํด๋์ค์ด๋ฆor๊ตฌํ์ธํฐํ์ด์ค์ด๋ฆ.
- ์ด๋ฆ์ ๋น๋ ค์ฐ๊ธฐ ๋๋ฌธ์ ์์ฑ์๋ฅผ ๊ฐ์ง ์ ์์. ์ค๋ก์ง ๋จ ํ๋์ ํด๋์ค๋ฅผ ์์ํ๊ฑฐ๋, ๋จ ํ๋์ ์ธํฐํ์ด์ค๋ง ๊ตฌํํจ.
'๐ฅ๏ธ ๋ฐฑ์๋ > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ch.9] String, StringBuffer, StringBuilder ํด๋์ค (0) | 2023.11.13 |
---|---|
[ch.9] Object, Objects ํด๋์ค (0) | 2023.11.13 |
[ch.8] ์์ธ์ฒ๋ฆฌ (1) | 2023.11.11 |
[ch.7] ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (1) | 2023.11.11 |
[ch.6] ๊ฐ์ฒด์งํฅ์ธ์ด (0) | 2023.11.11 |