업캐스팅 = 어떠한 경우라도 가.
다운캐스팅 = 업캐스팅한 것만 가능!
package ex0723;
public class Ex05_ClassTypeCast {
public static void main(String[] args) {
Test5 t1 = new Test5();
Test5 t2 = new Sample5();
Test5 t3 = new Demo5();
t1.disp(); // Test5의 print...
// 재정의 하면 어떠한 경우라도 원래의 메소드로 돌아가지 않음!!
t2.disp(); // Sample5의 print...
t3.disp(); // Test5의 print...
// Integer a=10;
// Long b = a; // 컴오류
// Long b = (Long)a; 컴오류. 상속관계에서만 캐스팅 가능. 형제는 남이다.
}
}
class Test5 {
public void print() {
System.out.println("Test5의 print...");
}
public void disp() {
// write(); 컴오류
print();
}
}
class Sample5 extends Test5{
public void print() {
System.out.println("Sample5의 print...");
}
public void write() {
System.out.println("write...");
}
}
class Demo5 extends Test5 {
public void sub() {
System.out.println("sub...");
}
}
'쌍용강북교육센터 > 7월' 카테고리의 다른 글
0726_Ex02_interface (0) | 2021.07.26 |
---|---|
0726_Ex01_abstract : 추상 클래스 (0) | 2021.07.26 |
0723_Ex04_ClassTypeCast (0) | 2021.07.23 |
0723_Ex03_ClassTypeCast : up-casting, down-casting (0) | 2021.07.23 |
0723_Ex02_override : 재정의 (0) | 2021.07.23 |