1. ์ค๋ฒ๋ก๋ฉ(Overloading) : ๊ฐ์ ํด๋์ค ๋ด์์ ์ด๋ฆ์ ๊ฐ์ง๋ง ๋งค๊ฐ๋ณ์์ ๊ฐฏ์๋ ํ์ ์ด ๋ค๋ฅธ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ๊ฒ.
ํน์ง :
1. ๋ฉ์๋์ ์ด๋ฆ์ด ๊ฐ์์ผํจ
2. ์ค๋ฒ๋ก๋ฉํ๋ ๋ฉ์๋์์ ์ฐจ์ด์ ์ด ์์ด์ผํจ(๋งค๊ฐ๋ณ์์ ๊ฐ์, ๋ฐ์ดํฐ ํ์ )
3. ์ฐจ์ด์ ์ ๋ฆฌํดํ์ ํฌํจ๋์ง ์์
์ด๋ฐ์์ผ๋ก ์ฌ๊ฐํ์ ํฌ๊ธฐ๋ฅผ ๊ตฌํ๋ ๋ฉ์๋๋ฅผ ์ ์ฌ๊ฐํ์ผ ๊ฒฝ์ฐ์๋ widthํ๋๋ง, ์ง์ฌ๊ฐํ์ผ ๊ฒฝ์ฐ์๋ width, height ๋๊ฐ์ง๋ฅผ ์ด์ฉํด์ ์ค๋ฒ๋ก๋ฉํ ์ ์๋ค.
2. ์ค๋ฒ๋ผ์ด๋ฉ(Overriding)
์ค๋ฒ๋ผ์ด๋ฉ์ ์์ํด๋์ค์ ๋ฉ์๋๋ฅผ ํ์ํด๋์ค์์ ์ฌ์ ์ํ๋ ๊ฒ.
ํน์ง :
1. ์์ํด๋์ค์ ๊ฐ์ ์ด๋ฆ์ ๋ฉ์๋๊ฐ ์กด์ฌํด์ผ ํจ
2. ์์ํด๋์ค์ ๋งค๊ฐ๋ณ์์ ๋ฐํํ์ด ๊ฐ์์ผ ํจ
3. ๊ฐ์ฒด์งํฅ ์ธ์ด์ ํน์ง์ธ ๋คํ์ฑ ์ค ํ๋
4. ์๋ก์ด ์์ธ๋ฅผ throws ํ ์ ์๋ค.
์์๊ฐ์ด ๋ถ๋ชจํด๋์ค์์๋ ํ์ด ๊ฐ์ 3.14159๋ก ๊ณ์ฐํ์ง๋ง ์์ํด๋์ค์์ ๋ ์ ํํ ๊ณ์ฐ์ ์ํด Math.PI ์์๋ฅผ ์ฌ์ฉํ๋ค.
@Override๋ ์๋ตํด๋ ๊ด์ฐฎ์ง๋ง ๋ถ์ฌ์ฃผ๋ฉด areaCircle()์ด ์ ํํ ์ค๋ฒ๋ผ์ด๋ฉ ๋ ๊ฒ์ธ์ง ์ปดํ์ผ๋ฌ๊ฐ ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ ์ค์๋ฅผ ์ค์ฌ์ค๋ค.
์์ํด๋์ค์์ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉํ๊ฒ ๋๋ฉด ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ ์จ๊ฒจ์ง๊ณ ์์๋ฉ์๋๋ง ์ฌ์ฉํ๊ฒ๋๋ค.
์ด๋ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ํธ์ถํด์ผํ๋ ์ํฉ์ด ๋ฐ์ํ๋ฉด superํค์๋๋ฅผ ๋ถ์ฌ ๋ถ๋ชจ ๋ฉ์๋๋ฅผ ํธ์ถ ํ ์ ์๋ค.
๋ถ๋ชจ ๋ฉ์๋์ fly()๋ ์ผ๋ฐ๋นํ์ด์ง๋ง ์์๋ฉ์๋์์๋ ์ด์์๋นํ๊ณผ ๋ถ๋ชจ๋ฉ์๋์ ์ผ๋ฐ๋นํ ๋๊ฐ์ง๋ก ๋์ํ๋๋ก ์ค๊ณํ๋ค.
'STUDY > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
string ๋ฐฐ์ด ๋น๊ต(์ฐธ์กฐํ์ ๋ฐฐ์ด ๋น๊ต) (0) | 2022.10.27 |
---|---|
List์ Array(๋ฐฐ์ด)์ ์ฐจ์ด์ + ArrayList (0) | 2022.10.27 |
JAVA - Stream(์คํธ๋ฆผ) (0) | 2022.05.16 |
JAVA - @Override(๋ฉ์๋ ์ฌ์ ์) (0) | 2022.05.11 |
JAVA - ์์(Inheritance) (0) | 2022.05.11 |