컴퓨터공학 💻 도서관📚

Part2. 3-8 다운 캐스팅과 instanceof 본문

✅🌲강의 복습 노트/패캠 JavaSpring 강의,코드 복습

Part2. 3-8 다운 캐스팅과 instanceof

들판속초록풀 2025. 6. 5. 16:42

다운 캐스팅(downcasting)

 

  • 업캐스팅된 클래스를 다시 원래의 타입으로 형 변환
  • 하위 클래스로의 형 변환은 명시적(직접)으로 해야 함]
Customer vc = new VIPCustomer();              //묵시적
VIPCustomer vCustomer = (VIPCustomer)vc;      //명시적

 


 

instanceof를 이용하여 인스턴스의 형 체크   (기본 명령어)

  • 업 캐스팅 하기 전 원래 인스턴스의 형이 맞는지 여부를 체크하는 키워드,  맞으면 true 아니면 false를 반환 함

 

if (animal  instanceof  Human)  :   animal 변수의 원래 자료형이 Human 이었나요?

    Humam human =  (Human) animal;   :    명시적으로(직접)  하위 클래스로 형 변환

 

public void testDownCasting(ArrayList<Animal> list) {
		                       // (특수 명령어)  size() ,  get() 은  ArrayList 에서 제공하는 메서드
		for(int i =0; i<list.size(); i++) {
			Animal animal = list.get(i);
		
			if ( animal instanceof Human) {
				Human human = (Human)animal;
				human.readBooks();
			}
			else if( animal instanceof Tiger) {
				Tiger tiger = (Tiger)animal;
				tiger.hunting();
			}
			else if( animal instanceof Eagle) {
				Eagle eagle = (Eagle)animal;
				eagle.flying();
			}
			else {
				System.out.println("error");
			}
		
		}
}
Comments