์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด
instanceof
๊ฐ์ฒด๊ฐ ์ด๋ค ํด๋์ค์์ ์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด ์ฐ์ฐ์์๋ ๋ ๊ฐ์ ์ธ์๊ฐ ์์ต๋๋ค. ์ผ์ชฝ์๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๊ฐ ์๊ณ ์ค๋ฅธ์ชฝ์๋ ๊ฐ์ฒด์ ํธํ์ฑ์ด ํ์ธ๋๋ ์ ํ์ ์ด๋ฆ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด:
Parent ั = new Child(); // ะฟัะพะฒะตััะตะผ ะฟะตัะตะผะตะฝะฝัั ั ัะธะฟะฐ Parent
//ะฝะฐ ัะพะฒะผะตััะธะผะพััั ั ัะธะฟะพะผ Child print(p instanceof Child);
๊ฒฐ๊ณผ๋ ์ฌ์ค์ด ๋ ๊ฒ์
๋๋ค . ๋ฐ๋ผ์ ์ฐ์ฐ์๋ instanceof
์ฐธ์กฐ ์ ํ์ด ์๋๋ผ ์ฐธ์กฐํ๋ ๊ฐ์ฒด์ ์์ฑ์ ์์กดํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด ์ฐ์ฐ์๋ ๊ฐ์ฒด๊ฐ ํ์๋ ์ ํ์ ๋ํด์๋ง ์ฐธ๊ฐ์ ๋ฐํํ๋ ๊ฒ์ด ์๋๋๋ค. ์ด๋ฏธ ์ ์ธ๋ ํด๋์ค์ ํ๋๋ฅผ ๋ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
// ะะฑััะฒะปัะตะผ ะฝะพะฒัะน ะบะปะฐัั ะธ ะฝะฐัะปะตะดัะตะผ
// ะตะณะพ ะพั ะบะปะฐััะฐ Child
class ChildOfChild extends Child {}
์ด์ ์๋ก์ด ์ ํ์ ๋ณ์๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
Parent p = new ChildOfChild();
print(p instanceof Child);
Parent
์ฒซ ๋ฒ์งธ ์ค์ ์์ ํ์๋ ๊ฐ์ฒด์ ๋ํ ์ฐธ์กฐ๋ก ์ด๊ธฐํ๋๋ ์ ํ์ ๋ณ์๋ฅผ ์ ์ธํฉ๋๋ค ChildOfChild
. ๋ ๋ฒ์งธ ์ค์์ ๋ช
๋ น๋ฌธ์ ํด๋์ค์ instanceof
์ ํ ์ฐธ์กฐ์ ํธํ์ฑ์ ๋ถ์ํ๋ฉฐ ๊ด๋ จ ๊ฐ์ฒด๋ ์ฒซ ๋ฒ์งธ ๋๋ ๋ ๋ฒ์งธ ํด๋์ค์์ ํ์๋์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด ๊ฐ์ฒด๊ฐ ํ์๋ ํด๋์ค๊ฐ ์์ ์์ ๋๋ฏ๋ก ์ฐ์ฐ์๋ true๋ฅผ ๋ฐํํฉ๋๋ค . ์๋ณธ ์์ค ๋งํฌ: Operator instanceofParent
Child
Child
GO TO FULL VERSION