자바 중급 032. 다형성(polymorphism)- instanceof연산자- 형변환 가능...

자바 중급 032. 다형성(polymorphism)- instanceof연산자- 형변환 가능...

반응형

안녕하세요. 스마트팩토리입니다.

자바 중급 032. 다형성(polymorphism)- instanceof연산자- 형변환 가능 여부 확인,Ctrl+T- 상속관계 확인에 대해 알아보겠습니다.

1. instanceof연산자

가. instanceof 연산자

- 형변환 가능 여부 확인하는 연산자.

-가능하면 true반환.

-형변환전에 반드시 확인.

<>

<

<>

<>

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 를 누르면 확인할 수 있습니다.

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

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

반응형

from http://sf2020.tistory.com/93 by ccl(A) rewrite - 2021-09-24 06:01:56