티스토리 뷰
레퍼런스 형변환
- 레퍼런스 타입끼리의 형변환(상속 관계에서만 사용 가능)
- 레퍼런스(변수)를 사용하여 다른 타입의 인스턴스(객체)를 참조하기 위해 변환
업캐스팅
서브클래스의 인스턴스를 슈퍼클래스 타입으로 변환, 자동형변환이 일어난다
다운캐스팅
슈퍼클래스의 인스턴스를 서브클래스 타입으로 변환, 명시적(강제)형변환을 해야한다.
실행시점에서 오류 발생할 수 있음. 사실상 업캐스팅이 이전에 되어야만 가능하다.
public class 연습 {
public static void main(String[] args) {
A a = new A();
B2 b2 = new C4(); // 업캐스팅
a = b2; // 업캐스팅
b2 = (B2)a; // 다운캐스팅
}
}
class A {}
class B1 extends A{}
class B2 extends A{}
class C1 extends B1{}
class C2 extends B1{}
class C3 extends B2{}
class C4 extends B2{}
insteanceof 연산자
상속관계인지 아닌지 판별하는 연산자
'배운 것 기록 > java' 카테고리의 다른 글
interface (0) | 2022.06.08 |
---|---|
abstract 추상화 (0) | 2022.06.07 |
super, final (0) | 2022.06.01 |
상속 (0) | 2022.05.31 |
Scanner (0) | 2022.05.30 |
댓글