개발/JAVA

객체간 타입 형변환💡💡

코린이딱콩 2022. 8. 30. 02:50

✔️업 캐스팅이 되어있을 때 자식 클래스가 갖고 있는 인스턴스 메서드는 호출할 수 없습니다.

✔️부모 클래스 타입의 변수로 참조하고 있는 자식 인스턴스 객체의 메서드를 호출하기 위해서는 down-casting이 이루어져야 합니다.

public class InheritanceAssist{
	public static void main(String[] args) {
    	Shape shape = new Rectangle("Rectangle", 100);
        shape.getType();
        shape.draw();
     }
   }

💡오버라이딩 된 메서드가 있다라면, 설령 부모 모습으로 업 캐스팅되었을지라도, 오버 라이딩된 메서드는 자식 클래스의 오버 라이딩되어있는 메서드가 호출된다!

위의 코드에서 shape.draw(); 는 부모 클래스의 draw(); 메서드가 아닌 오버라이딩 되어있는 자식 클래스의 draw();의 메서드라는 것!

 

🧐Reference

https://youtu.be/2vPOHswtbpc