캐스팅이란? 데이터 타입의 변환 즉 형변환을 말한다.
- 업 캐스팅 : 자식 타입의 객체를 부모 타입으로 변환
- 다운 캐스팅 : 업캐스팅 된 객체를 다시 자식 타입으로 바꿔주는 것
업 캐스팅
◆ 부모 타입의 변수에 자식 클래스로 만들어진 객체를 담아주는 것
부모 타입의 변수에 자식 생성자를 호출 (업캐스팅)
//Car:부모 / SuperCar:자식
Car car = new SuperCar();
자식 생성자로 만들어진 객체를 부모 타입의 변수에 대입
SuperCar supercar = new SuperCar();
Car car = supercar;
부모 타입의 매개변수에 자식 객체를 넘길 때
void f(Car car){ }
f(new SuperCar());
다운 캐스팅
◆ 업 캐스팅 시 잘려나갔던 자식 클래스의 추가된 내용을 다시 달아주는 것
//(자식 클래스명)업캐스팅된 객체
(SuperCar) car;
instanceof
◆ 객체가 뒤에 오는 클래스 타입인지 비교
객체 instanceof 클래스명
true / false 두가지 결과로 나오는 조건식
부모객체 instanceof 부모클래스 true
부모객체 instanceof 자식클래스 false
자식객체 instanceof 부모클래스 true
자식객체 instanceof 자식클래스 true
업캐스팅객체 instanceof 부모클래스 true
업캐스팅객체 instanceof 자식클래스 true
'Backend > Java' 카테고리의 다른 글
[Java] 기초정리 17. 컬렉션 프레임워크(1) - ArrayList (1) | 2024.09.02 |
---|---|
[Java] 기초정리 16. 접근 제어자 - public, private, protected (0) | 2024.09.01 |
[Java] 기초정리 14. 상속(inheritance) - 클래스 상속 (0) | 2024.08.30 |
[Java] 기초정리 13. 클래스 배열(객체 배열) - 클래스 배열 선언, 사용 (0) | 2024.08.20 |
[Java] 기초정리 12. 다형성(Polymorphism) - 오버로딩, 오버라이딩 (0) | 2024.08.10 |