Overriding vs Overloading
์ค๋ฒ๋ก๋ฉ (Overloading)
์ค๋ฒ๋ก๋ฉ์ด๋?
ํ๋์ class์ ์ฌ์ฉํ๋ ค๋ ์ด๋ฆ๊ณผ ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง method๊ฐ ์๋๋ผ๋ parameter์ ๊ฐ์ ๋๋ ํ์
์ด ๋ค๋ฅด๋ฉด,
๊ฐ์ ์ด๋ฆ์ ์ฌ์ฉํด์ method๋ฅผ ์ ์ํ ์ ์๋ ๊ฒ โ ์๋ก์ด method๋ฅผ ์ ์
์ค๋ฒ๋ก๋ฉ์ ์กฐ๊ฑด
Method
์ด๋ฆ์ด ๊ฐ๊ณ
,parameter
์๊ฐ์
๋ํ์
์ด ๋ฌ๋ผ์ผ ํ๋คreturn ๊ฐ๋ง ๋ค๋ฅธ ๊ฒ์ ์ค๋ฒ๋ก๋ฉ ํ ์ ์๋ค!
์ค๋ฒ๋ก๋ฉ์ ์ฌ์ฉํ๋ ์ด์
๊ฐ์ ๊ธฐ๋ฅ์ ํ๋ method๋ฅผ ํ๋์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค
ex) println
์ธ์ ๊ฐ์ผ๋ก int, double, boolean, String ๋ฑ ๋ค์ํ ํ์ ์ ๋งค๊ฐ ๋ณ์๋ฅผ ์ง์ด ๋ฃ์ด๋, ์ฐ๋ฆฌ๋ ๊ทธ ํจ์๋ค์ด ์ด๋ป๊ฒ ์คํ๋๋์ง๋ ๋ชจ๋ฅด์ง๋ง console ์ฐฝ์ ์ถ๋ ฅ์ ํด์ฃผ๋ ๊ฒ์ ๋ณผ ์ ์๋ค
method ์ด๋ฆ์ ์ ์ฝํ ์ ์๋ค
์ค๋ฒ๋ผ์ด๋ฉ (Overriding)
์ค๋ฒ๋ผ์ด๋ฉ์ด๋?
๋ถ๋ชจ class๋ก๋ถํฐ ์์๋ฐ์ method๋ฅผ ์์ class์์
์ฌ์ ์
ํ๋ ๊ฒ์์๋ฐ์ method๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ ์ ์๊ฒ ์ง๋ง, ์์ class์์ ์ํฉ์ ๋ง๊ฒ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ์ค๋ฒ๋ผ์ด๋ฉ์ ํ ํ์๊ฐ ์๊ธด๋ค
์ค๋ฒ๋ผ์ด๋ฉ์ ์กฐ๊ฑด
์ค๋ฒ๋ผ์ด๋ฉ์ด๋ method์ ๋์๋ง์ ์ฌ์ ์ํ๋ ๊ฒ์ด๋ฏ๋ก, method์
์ ์ธ๋ถ๋ ๊ธฐ์กด method์ ์์ ํ ๊ฐ์์ผ
ํ๋ค (method ์ด๋ฆ, parameter)but, method์ return type์ ๋ถ๋ชจ class์ return type์ผ๋ก type ๋ณํํ ์ ์๋ type์ด๋ผ๋ฉด ๋ณ๊ฒฝํ ์ ์๋ค
๋ถ๋ชจ class์ method ๋ณด๋ค
์ ๊ทผ ์ ์ด์
๋ฅผ ๋์ข์ ๋ฒ์
๋ก ๋ณ๊ฒฝํ ์ ์๋ค๋ถ๋ชจ class์ method ๋ณด๋ค ๋
ํฐ ๋ฒ์
์์์ธ
๋ฅผ ์ ์ธํ ์ ์๋ค
@Override์ ์ฉ๋
@Override ์ด๋ ธํ ์ด์ ์ ์ค๋ฒ๋ผ์ด๋ฉ์
๊ฒ์ฆํ๋ ๊ธฐ๋ฅ
์ ํ๋ค์ค๋ฒ๋ผ์ด๋ฉ์ด ์ค์ ๋ก ์ํ๋์ง ์์๋ค๋ฉด,
์ปดํ์ผ ์ ์ค๋ฅ
๋ฅผ ์ถ๋ ฅํ๋ค
Last updated