개발자 첫걸음

자바의 정석 07장 - 다형성2, instanceof

프로아마추어 2021. 10. 11. 23:13

참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 instanceof 연산자를 사용한다.

public class InstanceOf {

	public static void main(String[] args) {
		FireEngine1 fe = new FireEngine1();
		
		// instanceof의 결과가 true라면 검사한 타입으로 형변환이 가능하다는 뜻.
		// Object는 모든 클래스의 최상위 클래스이다.
		
		//fe는 FireEngine1으로 형변환이 가능하다.
		if(fe instanceof FireEngine1) {
			System.out.println("This is a FireEngine Instance");
		}
		
		//fe는 Car1으로 형변환이 가능하다.
		if(fe instanceof Car1) {
			System.out.println("This is a Car Instance");
		}
		
		//fe는 Object로 형변환이 가능하다.
		if(fe instanceof Object) {
			System.out.println("Thie is a Object Intance");
		}
	}

}

class Car1{}
class FireEngine1 extends Car1{}