티스토리 뷰

JAVA 이야기

instanceof 연산자



instanceof 연산자는 프로그램 실행시 참조 데이터형을 검사하기 위해 사용되는 연산자 입니다.

 

instanceof 연산자는

왼쪽이 오른쪽에 오는 클래스의 객체이거나 하위 클래스의 객체일 경우 true를 반환하고

그렇지 않을 경우 false를 반환합니다.

 

예)

String hi = "hi" ;

System.out.println(hi instanceof String)

 

스트링 변수 s는 String 클래스의 객체이므로 true를 반환하게 된다

 

- 에러가 발생하는 경우

instnaceof 연산자 왼쪽의 변수가 오른쪽의 클래스와 상속 관계가 없을 경우

객체가 아닌 기본 데이터형을 비교하려고 할 때

 

 

다음은 자세한 예시들을 나열해 놓은 것이다.

 

null instanceof Object  - false

int a = 0 ;

a instanceof Integer     - error

String s = "a" ;

s stanceof String          - true

String s = "a" ;

s instanceof Object      - true

String s = "a" ;

Object instanceof s      - error

String s = "a" ;

s instanceof Integer     - error

댓글