업캐스팅 = 어떠한 경우라도 가.

다운캐스팅 = 업캐스팅한 것만 가능!

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

+ Recent posts