-
형 변환 - 업 캐스팅 / 다운 캐스팅Memo/Java 2023. 12. 29. 23:34
나는 참조변수의 형 변환을 공부하면서 자손 클래스를 조상 클래스로 형 변환하거나, 조상 클래스를 자손 클래스로 강제 형 변환하는 이유가 궁금했다.
이후 검색을 하면서 업캐스팅과 다운캐스팅이라는 용어와 사용 목적 알 수 있었다.
✅ 업 캐스팅(Upcasting)
자손 → 조상으로 형 변환
하위 클래스에 상위 클래스의 자료형을 부여해 상위 클래스처럼 사용하게 하는 것
부모 클래스로 캐스팅된다는 것은 멤버의 개수 감소를 의미
→ 자식 클래스에서만 있는 멤버는 실행하지 못한다는 의미
공통의 자료형 사용으로 관리 용이 및 가독성 향상
✅ 다운 캐스팅(Downcasting)
조상 → 자손으로 형 변환
이미 업캐스팅한 객체를 되돌릴 때 사용
업캐스팅 되었던 객체의 자료형을 다시 하위 클래스 본래의 자료형으로 다시 되돌려 놓는 것
→ 원래 있던 자손 고유의 멤버를 이용하기 위해
다운 캐스팅은 꼭 업캐스팅이 선행되어야 한다.
→ 업캐스팅 되지 않는 생(生) 조상 객체를 다운캐스팅 하면 오류 발생
[Java] 업캐스팅과 다운캐스팅
어떠한 자료형/클래스의 변수/객체를 만든다는 것은, 좌변의 자료형이 요구하는 정보를 모두 우변이 갖추었을 때 가능한 것이다.캐스팅은 형변환을 의미하는데 이 형변환 또한, 위에 맞춰서 생
velog.io
☕ JAVA 업캐스팅 & 다운캐스팅 - 완벽 이해하기
자바의 참조형 캐스팅 하나의 데이터 타입을 다른 타입으로 바꾸는 것을 타입 변환 혹은 형변환(캐스팅) 이라고 한다. 자바의 데이터형을 알아보면 크게 두가지로 나뉘게 된다. 기본형(primitive ty
inpa.tistory.com
'Memo > Java' 카테고리의 다른 글
형 변환 시 toString과 String.valueOf 차이점 (1) 2023.11.23 Primitive type(int) vs Reference type(Integer) (0) 2023.10.02 Python f-string과 유사한 "MessageFormat" (0) 2023.03.16