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());
}
}