Java

[Java-17] 자바 Instanceof

lee-maru 2020. 11. 27. 14:23

Java Instanceof Operator

 

Instanceof 연산자(instanceof operator)

 

‘instanceof’ 연산자는 객체와 자바의 타입에 긴밀하게 밀점하여있습니다. 만약 자바를 처음 공부하시는 분이라면, 객체(Object)에 대해서 먼저 알아보고 이 글을 읽었으면 좋겠습니다 :D 

 

  • ‘instanceof’ 의 기본 형식은 이렇습니다. ***A instanceof B instanceof 는 연산을 하기위서 A 부분에는 객체 Object 또는 배열 값(value)가 필요하고, 오른쪽 피연산자에는  레퍼런스 타입이 들어가야 합니다.

    이런식으 instanceof 로 int 와 같은 primitive를 연산할 수 없다는 특징을 가지고 있다. instanceof는 객체의 instance 나, 배열, 또는 객체가 서로 같으면 true를 반환하고 그렇지 않다면 false를 반환하게 된다. 

  • instanceof 에 null 을 비교하면 무조건 false를 반환하게 된다.

  • instanceof 의 오른쪽 부분은 프리ㅇ티브 타입이 아닌 레퍼런스 타입만 사용이 가능다. 예를 들어 보자

    여기서 우리가 생각해봐야할건 Object 를 Int배열로 캐스팅하듯이 선언을 하고, Int[] 와 타입 비교를 진행했다. 이걸 봤을 때 instance of는 타입 변경이 잘 되었는지 확인하기 위해 좋은 문법이 될 수 있다.