개발/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( ) );
}
  1. customerE가 GoldCustomer의 인스턴스인지 여부 체크
  2. true일 경우, if문 안으로 진입
  3. 인스턴스를 생성할 때 지정했던 Customer 데이터 타입을 GoldCustomer로 다운 캐스팅
반응형