본문 바로가기
Backend/Java

[Java] instanceof : 객체 타입 비교

by unknownomad 2022. 2. 21.

기능

  • 객체 타입 및 형변환 가능 여부 확인
    = 해당 클래스가 본인 집이 맞는지 확인
  • true / false로 결과 반환
    주로 상속 관계에서 부모 객체인지 자식 객체인지 확인할 때 사용

문법

객체 instanceof 클래스

 

예제1

class Parent{}
class Child extends Parent{}

public class InstanceofTest {
    public static void main(String[] args){

        Parent p = new Parent();
        Child c = new Child();

        System.out.println(p instanceof Parent); //true
        System.out.println(c instanceof Parent); //true
        System.out.println(p instanceof Child); //false, 부모는 자식을 상속받지X
        System.out.println(c instanceof Child); //true
    }
}

 

예제2

//Object 형인 임의의 객체 가져오기
Object obj = field.get(class);

//instanceof로 비교
if(obj instanceof Integer) { 
    System.out.println("숫자형")
} else if (obj instanceof String) {
    System.out.println("문자열")
} else if (obj instanceof String[]) {
    System.out.println("문자열 배열")
}

 

 


출처

https://mine-it-record.tistory.com/120

https://blog.naver.com/PostView.nhn?blogId=simpolor&logNo=221096732966

댓글