[JAVA] instancef 연산자

객체의 타입을 확인하는 사용되는 연산자입니다. 연산자는 객체가 특정 클래스의 인스턴스인지, 또는 클래스의 하위 클래스의 인스턴스인지 여부를 판단하는 활용됩니다. 

 

사용법

// true or false 반환
if(객체 instanceof 클래스) {
    // true면 객체는 해당 클래스의 인스턴스
}

예제

class Animal {}
class Dog extends Animal {}
class Cat extends Animal {}

public class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();

        if (animal instanceof Dog) {
            System.out.println(“dog);
        } else if (animal instanceof Cat) {
            System.out.println(“cat);
        } else {
            System.out.println("animal");
        }
    }
}

주의사항

  • 인스턴스된 객체를 사용해야 합니다.
  • 상속관계인 클래스 간의 타입체크로 활용되어야 합니다.