package com.cast2;//레퍼런스 형변환 예제3

class Parent2{
	String msg = "여름";
	public String getMsg(){
		return msg;
	}
}
class Child2 extends Parent2{
	String str = "겨울";
	public String getStr(){
		return str;
	}
}

public class CastEx3 {
	public static void main(String[] args){
		Child2 ch = new Child2();
		System.out.println(ch.msg);
		System.out.println(ch.getMsg());
		System.out.println(ch.str);
		System.out.println(ch.getStr());
		
		Parent2 p = ch; //자식 클래스 타입 -> 부모 클래스 타입
						//업 캐스팅, 자동 형변환
		System.out.println(p.msg);
		System.out.println(p.getMsg());
		
		/*호출 범위를 벗어나 호출 불가 (부모 영역만 호출 가능)
		System.out.println(p.str);
		System.out.println(p.getStr());*/
		
		Child2 ch2 = (Child2)p;//부모 클래스 타입 -> 자식 클래스 타입
								//다운 캐스팅 , 명시적 형변환
		
		System.out.println(ch.msg);
		System.out.println(ch.getMsg());
		System.out.println(ch.str);
		System.out.println(ch.getStr());
	}
}


+ Recent posts