본문 바로가기

개발/Java

다운 캐스팅과 instanceof

다운 캐스팅(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로 다운 캐스팅
반응형

'개발 > Java' 카테고리의 다른 글

추상 클래스의 응용 - 템플릿 메서드 패턴  (0) 2021.04.26
추상 클래스(abstract class)  (0) 2021.04.26
오버라이딩(Overriding)  (0) 2021.04.25
객체 간의 상속  (0) 2021.04.24
객체 배열을 구현한 클래스 ArrayList  (0) 2021.04.23