본문 바로가기
Java

[JAVA/자바]Upcasting/업캐스팅, Downcasting/다운캐스팅

by hans-j 2022. 12. 8.

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(생각하고, 표현하고, 코딩하고 / 박매일 강사님)'를 듣고 작성 및 발췌 했습니다.