JAVA

[JAVA] instanceof

개발 공주 2023. 6. 1. 14:50
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