[ 클래스간의 형변환(*) ]
class Shape1{
public void draw() {
System.out.println("도형그리기");
}
public void move() {
System.out.println("도형이동하기");
}
}
class Rect1 extends Shape1{
public void draw() {// 오버라이딩
System.out.println("사각형그리기");
}
public void paint(String color) {
System.out.println(color +"색상으로 사각형 칠하기");
}
}
public class Test03_형변환 {
public static void main(String[] args) {
Rect1 r1=new Rect1();
r1.draw();
r1.move();
r1.paint("red");
Shape1 s=r1;//가능
s.move();
//s.paint("red"); --> 에러:자식에서 추가된 메소드는 호출못함
s.draw(); // 자식클래스에서 오버라이딩된 draw메소드가 호출됨
Rect1 r2=(Rect1)s;
r2.draw();
r2.paint("blue");
}
}