개발/Java
다운 캐스팅과 instanceof
DEV_제임스
2021. 4. 26. 16:47
반응형
다운 캐스팅(downcasting)
업캐스팅된 클래스를 다시 원래의 타입으로 형 변환
하위 클래스로의 형 변환은 명시적으로 해야 함
*앞 예제 코드
Customer vc = new VIPCustomer( ); //묵시적
VIPCustomer vCustomer = (VIPCustomer) vc; //명시적
Instanceof
Instanceof를 이용하여 인스턴스의 형 체크
원래 인스턴스의 형이 맞는지 여부를 체크하는 키워드
True / False를 반환
*앞 예제 코드
if ( customerE instanceof GoldCustomer) {
GoldCustomer vc = (GoldCustomer)customerE;
System.out.println(customerE.showCustomerInfo( ) );
}
- customerE가 GoldCustomer의 인스턴스인지 여부 체크
- true일 경우, if문 안으로 진입
- 인스턴스를 생성할 때 지정했던 Customer 데이터 타입을 GoldCustomer로 다운 캐스팅
반응형