package com.cast;//레퍼런스 형변환 업캐스팅, 다운캐스팅
//레퍼런스 형변환은 부모와 자식간의 관계에서만 가능

class Parent{
	int a=100;
}

class Child extends Parent{
	int b=200;
}

public class CastEx {
	public static void main(String[] args){
		Child c = new Child();
		System.out.println(c.a);
		System.out.println(c.b);
		
		Parent p = c; //자식 클래스 타입 -> 부모 클래스 타입으로
						//업 캐스팅, 자동적으로 형변환
		System.out.println(p.a);
		/*System.out.println(p.b);
		호출 범위를 벗어나 호출 불가*/
		
		//child는 전체를 호출할 수 있지만
		//parent는 child 영역을 호출 할 수 없기에 오류남
		
		//호출 하기 위해 다시 형변환
		Child c2= (Child)p;//부모 클래스 타입  -> 자식클래스 타입
							//다운 캐스팅, 명시적으로 형변환
		System.out.println(c2.a);
		System.out.println(c2.b);
		
	}
}


+ Recent posts