* 동적바인딩이란?
상속 관계에서 업캐스팅 후 메서드를 실행할 때, 컴파일 단계에서의 실행 대상과
실행 단계에서의 실행 대상이 달라지는 것
즉, 참조 변수의 타입과 무관하게 실제 인스턴스의 메서드를 실행하는 것이다
* 다형성(polymorphism)이란?
하나의 참조변수로 여러 인스턴스를 참조할 수 있는 특성.
인스턴스를 업캐스팅하여 슈퍼클래스 타입으로 서브클래스의 멤버를 다루는 것
class Triangle extends Shape {
@Override
public void draw() {
System.out.println("삼각형 그리기");
}
}
Triangle ta = new Triangle();
// 슈퍼클래스의 메서드를 상속받아 오버라이딩을 할 경우 코드의 통일성이 향상됨
ta.draw();
cc.draw();
ra.draw();
// 코드의 통일성을 더욱 향상시키기 위해 업캐스팅 활용
'BackEnd > Java' 카테고리의 다른 글
추상화 (Abstract) (0) | 2020.03.16 |
---|---|
상수 (final) (0) | 2020.03.16 |
같은 참조 타입인지 확인하는 instanceof 연산자 (0) | 2020.03.16 |
레퍼런스 형변환 (업캐스팅, 다운캐스팅) (0) | 2020.03.16 |
메서드 오버라이딩 (Overriding) (0) | 2020.03.16 |