본문 바로가기
Java

자바 중급 032. 다형성(polymorphism)- instanceof연산자- 형변환 가능 여부 확인,Ctrl+T- 상속관계 확인

by Smart Factory in 2020 2021. 9. 24.
728x90
반응형

안녕하세요. 스마트팩토리입니다. 
자바 중급 032. 다형성(polymorphism)- instanceof연산자- 형변환 가능 여부 확인,Ctrl+T- 상속관계 확인에 대해 알아보겠습니다. 

1. instanceof연산자

가. instanceof 연산자

- 형변환 가능 여부 확인하는 연산자.
-가능하면  true반환.
-형변환전에 반드시 확인.

 <<Car.java 조상클래스>>

<<SportCar.java 자손클래스 1번>

<<PoliceCar.java 자손클래스(2)>>

 

 

<<instaceof.java>>

instanceof연산자를 활용하여 상속관계에서 형변환이 가능한지 확인하는 코드입니다. 

sp1 instaceof Sportcar 는 당연히 자기 자신으로 형변환은 가능이며  true 반환 

sp1 instanceof Car  sp1은 Car의 자식 클래스 이므로 형변환이 가능하여 true 반환

sp1 instanceof Object  모든 객체의 최고조상인 Object 로 형변환은 항상 가능하여 true 반환

sp1 instanceof PoliceCar  서로 상속관계가 아니면 형변환이 되지도 않으며, 에러가 발생합니다.

package example03;

public class Instanceof {

public static void main(String[] args) {
SportCar sp1=new SportCar();
if (sp1 instanceof SportCar) {
System.out.println("SportCar로 형변환 가능");
 System.out.println(sp1 instanceof SportCar);
}

if (sp1 instanceof Car) {
System.out.println("Car로 형변환 가능");
System.out.println(sp1 instanceof Car);
}
if (sp1 instanceof Object) {
System.out.println("Object로 형변환 가능");
System.out.println(sp1 instanceof Object);
}
// if (sp1 instanceof PoliceCar) {
// System.out.println("Police로 형변환 가능");
// }
}

}

 

나.클래스간 상속관계 확인

프로그램을 실행하다보면 상속관계를 알아둘 필요가 있습니다. 물론 코드를보면 알수 있겠지만 클래스가 많이지면 더욱 헷갈릴수가 있습니다. 그래서 상속관계를 확인할 수 있습니다. 

 

 해당 클래스 파일을 선택하고 Ctrl+T 를 누르면 확인할 수 있습니다. 

새로운 팝업창으로 상속관계가 나온 것을 알 수 있습니다. 

부모 자식간 형변환 가능만 기억해두면 코드를 이해하는데 큰 어려움은 없을 듯합니다. 

 

 

 

728x90
반응형

댓글