์ ์ฒด ๊ธ
[JAVA]๊ฐ์ฒด์งํฅ_์ถ์ ํด๋์ค
์ถ์ ํด๋์ค์ ๊ฐ๋ ๊ณผ ์ถ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ ๊ตฌํ๐ค 01. ์ถ์ ํด๋์ค 1. ์ถ์(abstract) ๋ฉ์๋ ์ฌ์ ์ํ ๊ฒ์ผ๋ก ์์๋๋ ๋ฉ์๋์ ๋ํด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น ์์ด ๋ฏธ๋ฆฌ ํธ์ถ ๊ณํ์ ์ธ์๋๊ธฐ ์ํด ์์ฑ ํ๋ ์ด์์ ์ถ์ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ํด๋์ค๊ฐ ์ถ์ ํด๋์ค 2. ์ถ์(abstract) ํด๋์ค ์ฝ๊ฒ ๋งํด ๋ฉ์๋ ์ด๋ฆ๋ง ๋ง๋ค์ด๋๊ณ , ์๋ฌด๊ฒ๋ ์๋ ํด๋์ค (๊ป๋ฐ๊ธฐ๋ง ์กด์ฌ) ์ ์ธO, ์ ์X ํน์ง final ํด๋์ค๋ ์์์ ๊ฐ์ ์ ์์ผ๋ฏ๋ก ๋ถ๊ฐ ์ถ์ ๋ฉ์๋๊ฐ ์์ด๋ ์ถ์ ํด๋์ค๊ฐ ๋ ์ ์์ผ๋, ์ถ์ ๋ฉ์๋๊ฐ ์๋ ์ถ์ ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํจ ์ถ์ ํด๋์ค๋ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ โก ๋ํ์ ์ถ์ ํด๋์ค: Number, Calendar ๋ฑ 02. ์ถ์ ํด๋์ค ์ถ์ ํด๋์ค๋ฅผ ์ฌ์ฉํ..
[JAVA]๊ฐ์ฒด์งํฅ_์์๊ณผ ๊ด๋ จํ ์ฉ์ด(2)
์์๊ณผ ๊ดํ ์ฌ๋ฌ ๊ฐ์ฒด์งํฅ ์ฉ์ด๋คโ๏ธ 01 . ์ค๋ฒ๋ผ์ด๋ฉ - ์์ ํด๋์ค๋ฅผ ์์ ๋ฐ์ ํ์ ํด๋์ค์์ ์์ ํด๋์ค์ ์ ์๋ ๋ฉ์๋๋ฅผ ์ฌ์ ์(overriding) ํ๋ ๊ฒ - ์์ ํด๋์ค์ ๋ฉ์๋ ๊ธฐ๋ฅ์ ์ ์งํ๋ฉด์ ์ํฉ์ ๋ฐ๋ผ ํ์ ํด๋์ค์์ ๋ณํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ฉฐ ๋คํ์ฑ(Polymorphism) ๊ตฌํ์ ํต์ฌ ์๋ฆฌ override ๋ ๊ฒฝ์ฐ์๋ ์ฌ์ ์๋ ๋ฉ์๋๊ฐ ํธ์ถ์ด ๋๊ณ , ์์ํด๋์ค๋ ๋ฉ์๋๋ ์จ๋๋ค. โก ์๋ฒ์ง๊ฐ ๋ฌผ๋ ค์ฃผ์ ๊ฐ์์ค์ ์์์ด PC๋ฐฉ์ผ๋ก ๋ณ๊ฒฝํ๋๋ฐ, ์ ๊น ์๋ฒ์งํํ ๋ด๋ฌ๋ผ๊ณ ํ๋ค๋ฉด? ์๋ฒ์ง๋ ๊ฐ์์ค์ ๋ณผ ์ ์๊ณ , PC๋ฐฉ์ ๋ณด๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฆฌ!! ๐ 02. ์บ์คํ ํ ๋ณํ์ ์์ ๊ด๊ณ์์๋ง ๊ฐ๋ฅํ ๊ฒ์ผ๋ก ํ์ ๊ด๊ณ๋ ์๋ค. (ํ์ ๋ ๋จ์ด๋ค) 1. ์ ์บ์คํ (Up-casting)..
[JAVA] ๊ฐ์ฒด์งํฅ_์์
01. ์์(Inheritance)์ ๊ฐ๋ ๊ธฐ์กด์ ์ ์๋ ํด๋์ค์ ๋ฉ์๋์ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋๋ ๊ฒ ์์์ ํตํด ์ฐ๊ด๋ ํด๋์ค์ ๋ํ ๊ณตํต์ ์ธ ๊ท์ฝ์ ์ ์ํ๊ณ ์ ์ฉํ๋ ๊ฒ์ด ์ค์ง์ ์ธ ๋ชฉ์ ์ค๋ฌด์์๋ ๋ด๊ฐ ๋ง๋ ํด๋์ค๋ฅผ ์์ํ๋ ์ผ๋ณด๋ค๋, ์ด๋ฏธ ๋ง๋ค์ด์ ์ ๊ณตํด์ค ๊ฒ๋ค์ ์์ํด์ ์ฒ๋ฆฌํ๋ ์ผ์ด ๋น๋ฒํ๋ค๊ณ ํ๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ ํ๋ซํผ์ ๋ชจ๋ ํด๋์ค๋ Object ํด๋์ค๋ฅผ ์์๋ฐ๋๋ค. 02. ์ํผ ํด๋์ค์ ์๋ธ ํด๋์ค 1. ์ํผ ํด๋์ค์ ์๋ธ ํด๋์ค ์ฉ์ด ์ ๋ฆฌ โ๏ธ - ์ํผ ํด๋์ค(Super class) ์์์ ํด์ฃผ๋ ๋ถ๋ชจ ํด๋์ค ๊ธฐ๋ฐ ํด๋์ค(Base class)๋ผ๊ณ ๋ ํจ - ์๋ธ ํด๋์ค(Sub class) ์์์ ๋ฐ๋ ์์ ํด๋์ค ํ์ ํด๋์ค(Derived class)๋ผ๊ณ ๋ ํจ 2. ์์ ..