1. 업캐스팅 (Upcasting)
자식 클래스 → 부모 클래스로의 변환
자동으로 이루어지는 암시적(implicit) 형변환
✔ 특징
- 컴파일러가 자동으로 수행
- 부모 클래스 타입으로 자식 클래스 객체를 다룰 수 있음 (다형성의 기본)
- 자식 클래스의 고유한 멤버에는 접근할 수 없음
2. 다운캐스팅 (Downcasting)
부모 클래스 → 자식 클래스로의 변환
명시적(explicit) 형변환 필요
✔ 특징
- 명시적으로 타입을 지정해야 함
- 런타임 시
ClassCastException
이 발생할 수 있음 → instanceof
로 확인 권장
- 자식 클래스 고유 멤버에 접근 가능