자바/기본적인 개념

instanceof 연산자

백_곰 2021. 1. 14. 10:33

1. 사용 방법

- 주로 조건문에서 사용한다.

 

- instanceof의 왼쪽에는 참조변수를 오른쪽에는 타입이 피연산자로 위치한다.

 

- 결과값은 boolean 값인 true 또는 false가 반환된다.

 

- 만약 값이 null인 참조변수에 대해 instanceof 연산을 수행하면 false를 결과로 얻는다.

 

 

 

 

2. 예제(1) - 업-다운 캐스팅

 

public class Exercise001 {
	public static void main(String[] args) {
		car c1 = new car();
		car c2 = new sportCar();
		sportCar c3 = new sportCar();
		
		if(c1 instanceof car) {
			System.out.println("1");
		}
		if(c1 instanceof sportCar) {
			System.out.println("2");
		}
		if(c2 instanceof car) {
			System.out.println("3");
		}
		if(c2 instanceof sportCar) {
			System.out.println("4");
		}
		if(c3 instanceof car) {
			System.out.println("5");
		}
		if(c3 instanceof sportCar) {
			System.out.println("6");
		}
	}
}

class car{
	
}

class sportCar extends car{
	
}

 

 

 

3. 예제(2):  nstanceof 연산자를 이용하여 형변환 체킹하기.

 

( 어떤 타입에 대한 instanceof 연산의 결과가 true 라는 것은 검사한 타입으로 형변환이 가능하다는 것을 뜻한다. )