프로그래밍/JAVA

[ JAVA ] Instanceof 연산자란? Instanceof 연산자 사용방법

리신 2022. 10. 27. 20:20
반응형

Instanceof 연산자란?

객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자 이다.즉, 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 해당 연산자를 사용한다.

 

💡문법💡

object instanceOf type

 

object가 type이거나 type을 상속받는 클래스라면 true를 리턴합니다. 그렇지 않으면 false를 리턴합니다.

 

💎예제💎

간단하게 살펴보자면,

class A { }
class B extends A { }   // A 클래스를 상속

public static void main(String[] args) {
  A a = new A();
  B b = new B();

  System.out.println(a instanceof A);   // true 출력
  System.out.println(b instanceof A);   // true 출력 : A를 상속 받았기 때문
  System.out.println(a instanceof B);    // false 출력
  System.out.println(b instanceof B);    // true 출력
}

 

 

🙄그럼 Object에 대한 Instanceof는 어떤 값이 나올까?

→ true 값이 나온다!

모든 클래스는 Object를 상속하기 때문에 Object Instanceof Object 는 항상 true라는 값이 나옴.

 

🙄그럼 아래 코드처럼 null에 대한 Instanceof는 어떤 값이 나올까?

Car car = null;
System.out.println(car instanceof Object);

→ false 값이 나온다!

 

 

* 참고자료 : Java의 정석

반응형