모든 클래스가 서로 간에 형변환이 가능하지는 않다.
하지만 상속으로 묶인 클래스의 경우에는 자식 클래스가 부모 클래스의 하위 클래스이기 때문에, 자식 클래스를 부모 클래스로 형변환 할 때에는 암시적 형변환이 가능하다.
Adult maria = new Adult("John", 10, 12);
Human human = maria;
부모타입의 객체를 부모타입의 변수에 담아 저장한 경우, 세분화되어 자식 클래스에만 있는 멤버나 메서드를 표현할 수 없다.
만약에 둘이 같다면 가능
Human Paul = new Human("Paul", 32, 172);
Baby baby = Paul as Baby;
if(baby == null)
{
Debug.Log("형변환 실패");
}
else
{
Debug.Log("형변환 성공");
Human Alexis = new Adult("Alexis", 32, 172);
Debug.Log(Alexis is Adult);