package com.cast;//레퍼런스 형변환 2
class Parent2{
public void make(){
System.out.println("눈오는 하루");
}
}
class Child2 extends Parent2{
public void fun(){
System.out.println("즐거운 하루");
}
}
public class CastEx2 {
public static void main(String[] args){
Child2 c = new Child2();
c.make();
c.fun();
Parent2 p =c;//c에 있는것을 p로 넘기기(업 캐스팅)
//자식 클래스 타입 -> 부모클래스 타입으로 형변환(자동형변환)
p.make();
//호출 범위를 벗어나 호출 불가
//p.fun();
Child2 c2 = (Child2)p;//부모 클래스 타입 -> 자식클래스 타입
//다운 캐스팅,명시적 형변환
//줄어 들었다 다시 늘려야 하기때문에 앞에 명시적 형변환을 하기 위해(Child2)를 명시
c2.make();
c2.fun();
}
}