Item 40. @Override
@Override ์ ๋ํ ์ด์ ์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ๋ผ.
์๋ฐ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ์ ๋ํ
์ด์
์ค ๊ฐ์ฅ ์ค์ํ๊ณ ์์ฃผ ์ฐ์ด๋ ์ ๋ํ
์ด์
์ @Override
์ด๋ค.
@Override
๋ ํด๋น ๋ฉ์๋๊ฐ ์์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ ๊ฒ์์ ํ์ํ๋ ๋ฉ์๋๋ฅผ ๋์์ผ๋ก ํ๋ ์ ๋ํ
์ด์
์ด๋ค.
์ด ์ ๋ํ ์ด์ ์ ์ฌ์ฉํ์ง ์๊ณ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค์ง ์๋๋ฐ, ๊ทธ ์๋ ์๋ ์ฝ๋์ ๊ฐ๋ค.
์ธ๋ป ๋ณด๋ฉด ๋ฌธ์ ์์ด equals
๋ฉ์๋๋ฅผ ์ฌ์ ์ํ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง, ์ค์ ๋ก๋ Object
์ equals
๋ฉ์๋๋ฅผ ์ฌ์ ์(overriding)ํ ๊ฒ์ด ์๋๋ผ ๋ค์ค ์ ์(overloading)ํ ๊ฒ์ด๋ค.
์ด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด์ Object.equals
๋ฅผ ์ฌ์ ์ํ๋ค๋ ์๋๋ฅผ ๋ช
ํํ ๋ฐํ๊ธฐ ์ํด @Override
์ ๋ํ
์ด์
์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
๋ง์ฝ ๊ธฐ์กด์ ๋ฉ์๋์ @Override
์ ๋ํ
์ด์
์ ์ฌ์ฉํ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ค์๋ฅผ ๋นจ๋ฆฌ ๋ฐ๊ฒฌํ ์ ์๋ค.
๊ฒฐ๋ก
๊ธฐ๋ณธ์ ์ผ๋ก ์์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ ค๋ ๋ชจ๋ ๋ฉ์๋์ @Override
๋ฅผ ์ฌ์ฉํ์.
์์ธ๋ก ์์ ํด๋์ค์ ์ถ์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ ๊ตฌ์ ํด๋์ค๋ @Override
๋ฅผ ์๋ตํด๋ ๋๋๋ฐ, ์ด๋ ์ถ์ ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ์ง ์์ผ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ๋ถ์ธ๋ค๊ณ ๋ฌธ์ ๊ฐ ๋๋ ๊ฒ์ด ์๋๋ ์ฌ์ ์ ํ๋ ๊ฒฝ์ฐ์ ํญ์ @Override
๋ฅผ ๋ถ์ด๋ ๊ฒ์ด ์ข๋ค.
Last updated