Java
[JAVA/자바]Upcasting/업캐스팅, Downcasting/다운캐스팅
hans-j
2022. 12. 8. 00:55
Object casting:
상속관계에 있는 클래스들 간의 형(DataType)을 바꾸는 것
인스턴스를 1개 부모클래스(슈퍼클래스)로 설정하여 자식클래스(서브클래스)를 담아놓고 관리하기 위해서 사용
Ex)
부모 클래스 : Animal | 자식 클래스 :Cat, Dog
Upcasting :
자식(서브)클래스가 부모(수퍼) 클래스로 캐스팅.
자동형변환
Ex)
Animal r=new Cat (); // upcasting
r.eat();
Downcasting :
부모(수퍼)클래스가 자식(서브)클래스로 캐스팅.
강제형변환
Ex)
Animal r=new Cat();
// r.night();
Cat c=(Cat)r; // downcasting
c.night();
instanceof :
객체타입을 확인하는 연산자
형변환 가능 여부를 true/ false로 반환
상속 관계에서 부모인지 자식인지 확인하는데 쓰임
해당 연산자를 통해 downcasting을 언제할 지 명시함
Ex)


**인프런 강의 'Java TPC(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다.