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


+ Recent posts