์๋
ํ์ธ์, ์๋ฐ๋ผ์์ธ ์ฌ๋ฌ๋ถ. ํ์คํ ์ธํฐ๋ทฐ์ ์ํ ๋ชจ๋ ์ฌ๋์ ๋คํ์ฑ์ ๋ํ ์ง๋ฌธ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋์ ์ ๋ ๊ทํ์ ๋ต๋ณ๊ณผ ๋ฉด์ ๊ด์ ๋ต๋ณ์ ๋ํ ํ๊ฐ์ ๊ด์ฌ์ด ์์ต๋๋ค. ๋๋ 2๋ฒ์ ๋ฏธ๋ ์ธํฐ๋ทฐ๋ฅผ ๊ฐ์ก์ผ๋ฉฐ ๋คํ์ฑ์ ๋ํด ์ง๋ฌธํ๊ณ ๊ฐ๊ฐ์ ์ธํฐ๋ทฐ์์ ๋ฉด์ ๊ด์ ๋ด ๋๋ต์ ๋ง์กฑํ์ง ์์์ต๋๋ค. ๊ฐ๋จํ ๋งํด์, ๋ด ๋๋ต์ ์์ ํด๋์ค ์ฐธ์กฐ๋ฅผ ํ์ ํด๋์ค์ ๊ฐ์ฒด์ ์ฌ์ ์ํ๊ณ ํ ๋นํ๋ ๊ฒ์ผ๋ก ์์ฝ๋ฉ๋๋ค. ์ด ๊ฐ์:
class Parent{
void saySomething(){
System.out.println("Parent!");
}
}
class Child1 extends Parent{
@Override
void saySomething(){
System.out.println("Child1!");
}
}
class Child2 extends Parent{
@Override
void saySomething(){
System.out.println("Child2!");
}
}
class Test{
public static void main(String[] args){
Parent p1 = new Parent();
Parent p2 = new Child1();
Parent p3 = new Child2();
p1.saySomething();
p2.saySomething();
p3.saySomething();
}
}
---------------
Output:
Parent!
Child1!
Child2!
์ค๋ผํด ํํ์ด์ง ์ ๋์ ์๋ ๋ด์ฉ์ด ๋ฐ๋ก ์ด ๋ด์ฉ์
๋๋ค . Ivan Golovach๋ Java์ ๋คํ์ฑ์ด ์์(์์ ์์ ๋ณด์ฌ์ค ๊ฒ)๊ณผ ์ ๋ค๋ฆญ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋๋ค๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ง์ค์ ์ด๋์ ์์ผ๋ฉฐ ์ธํฐ๋ทฐ์์ ๋๋ตํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? ๊ณง ์ค์ํ ์ธํฐ๋ทฐ๊ฐ ์๋๋ฐ ๊ฒ๋ณด๊ธฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ณด์ด๋ ์ด ์ง๋ฌธ์ ๋ค์ ๋ง์น๊ณ ์ถ์ง ์์ต๋๋ค.
GO TO FULL VERSION