Abstract Class
Abstract Class, ์ถ์ ํด๋์ค๋ ํ๋ ์ด์์ abstract
๋ฉ์๋๋ฅผ ์ ์ธํ ํด๋์ค๋ก์จ ์ด๋ฅผ ์์ํ๋ ์์ ํด๋์ค์์ ์์ฑํ๋๋ก ์ ๋ํ๋ ํด๋์ค๋ค.
์ผ๋ฐ ํด๋์ค์ abstract
๋ฉ์๋๋ฅผ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ์ธ์คํด์คํ๊ฐ ๋ถ๊ฐํ๊ณ ๋ฏธ์์ฑ ์ค๊ณ๋๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
ํน์ง
- ๋จ์ผ ์์๋ง ๊ฐ๋ฅํ๋ค.
- ์ถ์ ํด๋์ค๋ฅผ ์์ํ๋ ์งํฉ๊ฐ์๋ ์ฐ๊ด ๊ด๊ณ๊ฐ ์๋ค.
Interface
Interface ๋ ์์์ abstract
๋ฉ์๋์ ์งํฉ์ผ๋ก Abstract Class ์ ๋์ผํ๊ฒ ์ด๋ฅผ ๊ตฌํํ๋ ํด๋์ค์์ abstract
๋ฉ์๋๋ฅผ ์์ฑํ๋๋ก ๊ฐ์ ํ์ง๋ง Abstract Class ๋ณด๋ค ์ถ์ํ ์ ๋๊ฐ ๋๋ค.
์ถ์ ํด๋์ค๊ฐ ๋ฏธ์์ฑ ์ค๊ณ๋๋ผ๋ฉด ์ธํฐํ์ด์ค๋ ๊ธฐ๋ณธ ์ค๊ณ๋๋ผ๊ณ ํ ์ ์๋ค.
ํน์ง
- ๋ค์ค ์์์ด ๊ฐ๋ฅํ๋ค.
- ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ์งํฉ๊ฐ์๋ ๊ด๊ณ๊ฐ ์์ ์ ์๋ค.
- JDK1.8
static
๋ฉ์๋์default
๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค. default
๋ฉ์๋์ ๋ชฉ์ ์ ๊ตฌํ์ฒด์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋ ๋ฉ์๋๋ฅผ ์ธํฐํ์ด์ค์ ์ ์ธํ๊ธฐ ์ํจ์ด๋ค.