본문 바로가기
Back-end/JAVA & Spring

[Java] 자바 instanceof 사용방법

by 꼬바리 2021. 5. 11.

instanceof는 객체타입을 확인하는데 사용한다. 속성은 연산자이고 형변환이 가능한 지 해당 여부를 true 또는 false로 가르쳐준다. 객체 타입이라 하니 어려운 개념 같은데, 주로 부모 객체인지 자식 객체인지 확인하는데 쓴다고 생각하면 된다.

 

현재 참조하고 있는 클래스를 확인할 수 있는 메소드인 getClass를 함께 알아두면 좋다.

 

관련글보기 - 자바(Java) getClass 메소드 사용방법

 

instanceof의 사용형식은 ‘객체 + instanceof + 클래스’ 이다.

A를 부모, B를 자식 클래스로 세팅하고 두 클래스 간 형변환이 가능한지 확인해보았다.

 

 

class A{}

class B extends A{}

class instanceofEx01 {



public static void main(String[] args) {

  A a = new A();

  B b = new B();



  System.out.println("a instanceof A : " + (a instanceof A));

  System.out.println("b instanceof A : " + (b instanceof A));

  System.out.println("a instanceof B : " + (a instanceof B));

  System.out.println("b instanceof B : " + (b instanceof B));

  }

}



<결과>

a instanceof A : true

b instanceof A : true

a instanceof B : false

b instanceof B : true

 

세 번째 결과가 false인 이유는 간단하다. 부모가 있어야 자식이 있는데, 세 번째는 부모가 자식이 되려 했기 때문이다.

 

<관련글보기>
 - 자바(Java) getClass 메소드 사용방법

 - 자바(Java) 상속(Inheritance) super & Override 개념 이해

 - 자바(Java) this 사용방법

 - 자바(Java) PrintStream클래스의 printf메소드 사용방법

출처 : https://improver.tistory.com/140
728x90
반응형

댓글