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
반응형
'Java' 카테고리의 다른 글
자바 중급 034. 매개변수 다형성 : 이용하는 이유 예제)- 조상클래스 매개변수를 작성하고 자식 클래스 매개변수로 접근 (0) | 2021.09.26 |
---|---|
자바 중급 033. 다형성(polymorphism)- instanceof연산자- 예제2(부모클래스, 자식클래스 매개변수로 접근 가능여부) (0) | 2021.09.25 |
자바 중급 031. 다형성(polymorphism)- 형 변환, 다운 캐스팅, 업캐스팅 에러 ClassCastException 해결 방법 (0) | 2021.09.23 |
자바 중급 030. 다형성(polymorphism)- 부모클래스 참조변수로 자식클래스 접근 (0) | 2021.09.22 |
자바 중급 029. 참조 변수 super 조상클래스 참조변수 (0) | 2021.09.14 |
댓글