주로 업캐스팅, 다운캐스팅을 할 때 실제 instanceof 연산자를 통하여,
좌변의 객체(참조변수)가 우변 클래스의 타입과 같은 타입인지 판별하는 연산자이다
판별 결과가 true라면 형변환이 가능한 관계라는 것을 뜻한다
예문
Child c = new Child();
if(c instanceof Parent) { // c is a Parent?
System.out.println("c는 Parent이다");
// 형변환이 가능한 true이니 업캐스팅 실시
Parent p = c;
p.parentPrn();
} else {
// false : 형변환이 불가능한 관계
System.out.println("응 c는 Parent 아니야");
}
형변환이 가능한지 이론적으로 관계를 따져볼 때
is-A 또는 has-A 관계를 대입하여 말이 되는가를 살펴보면 쉽다
'BackEnd > Java' 카테고리의 다른 글
상수 (final) (0) | 2020.03.16 |
---|---|
동적바인딩과 다형성(polymorphism) (0) | 2020.03.16 |
레퍼런스 형변환 (업캐스팅, 다운캐스팅) (0) | 2020.03.16 |
메서드 오버라이딩 (Overriding) (0) | 2020.03.16 |
접근제한자 (0) | 2020.03.16 |