Language
자바 동적 바인딩에 관하여~
아라한사
2014. 4. 17. 10:17
오늘 학원 9일차 동적 바인딩 - 다형성에 대해서 배웠다~
자 일단 렝탱글이 있다~
public class Rectangle extends Shape{ public void draw(){ System.out.println("Rectangle draw() "); } }
그리고 쉐이프가 있다.
public class Shape { public void draw(){ System.out.println("Shape draw()"); } }
그리고 이것들을 이용하는 테스트가 있다
public class Test { public static void main(String[] args) { Shape s = new Shape(); s.draw(); Rectangle r= new Rectangle(); r.draw(); Shape s2 = new Rectangle(); s2.draw(); //다형성 } }
자 여기서 Test의 결과는?
s2.draw()는 Shape Draw()가 아니라 Rectangle draw()를 호출한다.
왼쪽을 Shape 로 처리를 해도 결국 출력은 Rectangle Draw를 호출하게 된다.