[Java] ๋คํ์ฑ (Polymorphism) - ์ ์ ๋ฐ์ธ๋ฉ / ๋์ ๋ฐ์ธ๋ฉ
ยท
๐ Study/Java
๋ฐ์ธ๋ฉ(Binding)์ด๋?"์ด๋ค ๋ฉค๋ฒ(๋ณ์/๋ฉ์๋)๋ฅผ ํธ์ถํ ๋, ๊ทธ๊ฒ ์ค์ ๋ก ๋๊ตฌ๋ฅผ ๊ฐ๋ฆฌํค๋์ง ๊ฒฐ์ ํ๋ ๊ณผ์ " ์ ์ ๋ฐ์ธ๋ฉ (Static Binding)์ปดํ์ผ ์์ ์ ๊ฒฐ์ ๋๋ ๊ฒ→ ๋ณ์(ํ๋)๋ ์ ์ ๋ฐ์ธ๋ฉSubClass subClass = new SubClass();System.out.print(subClass.x); // ๐ "sub"SuperClass superClass = subClass;System.out.print(superClass.x); // ๐ "super"๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํด๋ ์ฐธ์กฐ ๋ณ์์ ํ์
(superClass)์ ๋ฐ๋ผ x๊ฐ ๋๊ตฌ์ ๊ฒ์ธ์ง ๋ฌ๋ผ์ง๋ค.→ ํ๋(x)๋ ์ ์ ๋ฐ์ธ๋ฉ๋๊ธฐ ๋๋ฌธ. ์ฆ, ํ๋(x)๋ ์ฐธ์กฐ ๋ณ์์ ํ์
๊ธฐ์ค์ผ๋ก ๊ฒฐ์ ๋๋ค. ๋์ ๋ฐ์ธ๋ฉ (Dynamic Bind..