컴퓨터공학 💻 도서관📚
Part2. 3-8 다운 캐스팅과 instanceof 본문
다운 캐스팅(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");
}
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 3-10 추상 클래스의 응용 -- 템플릿 메서드 패턴 (3) | 2025.06.06 |
---|---|
Part2. 3-9 추상 클래스(abstract class) 구현하기 (1) | 2025.06.06 |
Part2. 3-7 상속은 언제 사용 할까? (0) | 2025.06.05 |
Part2. 3-6 다형성과 다형성을 사용하는 이유 (0) | 2025.05.26 |
Part2. 3-5 메서드 재정의와 가상 메서드 원리 (0) | 2025.05.23 |
Comments