8.4 Interfaces and Abstract Classes
Interface์ ํด๋์ค์ ์ฐจ์ด์
- Constructor๊ฐ ์๋ค๋ ๊ฒ.
- Instance variable์ด ์๋ค๋ ์ .
- ๋ฉ์๋์ body๊ฐ ์์ด ์ ์ธ๋ง ๋์ด์๋ค๋ ์
Parent ํด๋์ค๊ฐ ๋ค์ด๊ฐ ์๋ฆฌ์ Interface๊ฐ ๋ค์ด๊ฐ๋ฉด ๊ทธ๋๋ก polymorphism์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ด๋ค
Interface๊ฐ ํ์ ์ฒ๋ผ ์ฌ์ฉ๋ ์ ์๋ค.
Measurable์ ํ์ ์ผ๋ก ํ๋ผ๋ฏธํฐ๊ฐ ๋ค์ด๊ฐ๋ฉด ํด๋น Interface์ ์๋ ํด๋์ค๊ฐ
๊ทธ๊ณณ์ผ๋ก ๋ค์ด๊ฐ ์ ์๋ค. Is a relation ์ด ์ฑ๋ฆฝํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ ๊ฒ Interface๋ก ์์ฑํด๋ ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
๋ถ๋ชจ ํด๋์ค์ฒ๋ผ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
Inferface์๋ ๋ฉ์๋์ ์ ์ธ๋ง ๋์ด์์ ๋ฟ ์์ธํ ๊ตฌํ์ด ์๋ผ์๊ธฐ ๋๋ฌธ์
Measurable ํ์ ์ผ๋ก ์ค๋ธ์ ํธ๋ฅผ ์์ฑํ๊ณ ์ํ๋ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์
Interface ์์ ํด๋น ๋ฉ์๋๊ฐ ์ ์ธ๋์ด ์๊ณ Interface์ ์๋ ํด๋์ค์์ ๋งค์๋๊ฐ
๊ตฌํ๋์ด์์ด์ผ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
Abstract Class์ Interface์ ์ฐจ์ด์
Abstract ํด๋์ค๋ ํด๋์ค์ด๊ธฐ ๋๋ฌธ์ ๊ตฌํ๋ ๋ฉ์๋๊ฐ ์์ฌ ์๋ค.
๋ค์ ๋งํด์ Body๊ฐ ์๋ ๋ฉ์๋๋ ์์ ์ ์๋ค๋ ๊ฒ์ด๋ค.
๊ตฌํ ์๋ ๋ฉ์๋๋ ํ ๋๊ฐ ์์ฌ์๋ค๋ ๊ฒ์ด๊ณ Instance variable๋ ์์ ์ ์๋ค.
Interface๊ฐ Interface๋ฅผ Extendํ ์ ์๋ค.
create object, used as a base for inheritance, that would always override
Abstract Class๋ฅผ ๊ฐ์ง๊ณ Object๋ฅผ ๋ง๋ค์ง ๋ชปํ๋ค.
base๋ก ์ฌ์ฉ๋๋ค๋ ๊ฒ์ด parent ํด๋์ค๋ก๋ง ์ฌ์ฉ๋๋ค๋ ๊ฒ์ด๋ค.
'๐ Major Study (Bachelor) > ๐ JAVA Programming' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JAVA ํ๋ก๊ทธ๋๋ฐ 9.2 (0) | 2021.11.02 |
---|---|
JAVA ํ๋ก๊ทธ๋๋ฐ 9.1 (0) | 2021.11.02 |
JAVA ํ๋ก๊ทธ๋๋ฐ 8.3 (0) | 2021.10.29 |
JAVA ํ๋ก๊ทธ๋๋ฐ 7.1 (0) | 2021.10.28 |
JAVA ํ๋ก๊ทธ๋๋ฐ 6.8 (0) | 2021.10.28 |