728x90
📌 다형성 기능으로 인해 해당 클래스 객체의 원래 클래스명을 체크하는것이 필요한데 이때 사용할 수 있는 명령어가 instance of 입니다.
- 참조변수의 형변환 가능여부 확인해 사용. 가능하면 true 반환
- 형변환 전에 반드시 instanceof로 확인해야한다.
- 이 명령어를 통해서 해당 객체가 내가 의도하는 클래스의 객체인지 확인할 수 있습니다.
- {대상 객체} instance of {클래스 이름} 와 같은 형태로 사용하면 응답값은 boolean 입니다.
instanceof연산자는 형변환이 가능한지 확인하는대에 사용한다. 형변환이 가능하면 true를 반환한다.
형변환을 하기 전에는 반드시 instanceof 연산자로 확인하고 형변환 해야한다.
// 다형성
class Parent { }
class Child extends Parent { }
class Brother extends Parent { }
public class Main {
public static void main(String[] args) {
Parent pc = new Child(); // 다형성 허용 (자식 -> 부모)
Parent p = new Parent();
System.out.println(p instanceof Object); // true 출력
System.out.println(p instanceof Parent); // true 출력
System.out.println(p instanceof Child); // false 출력
Parent c = new Child();
System.out.println(c instanceof Object); // true 출력
System.out.println(c instanceof Parent); // true 출력
System.out.println(c instanceof Child); // true 출력
}
}
'JAVA' 카테고리의 다른 글
[JAVA] 인터페이스 (0) | 2023.06.01 |
---|---|
[JAVA] 추상 클래스 (0) | 2023.06.01 |
[JAVA] 다형성 (polymorphism) (0) | 2023.06.01 |
[JAVA] 참조변수의 타입변환 (0) | 2023.06.01 |
[JAVA] super 및 super() (0) | 2023.06.01 |