나의 지식 보관소
객체 타입 확인 instanceof 본문
클래스끼리 형 변환을 할 때 자식 타입을 부모 타입으로 형 변환하는 경우에는 자동 형 변환이 이루어지지만 부모 타입을 자식 타입으로 형 변환하기 위해서는 강제 형 변환(casting)이 사용된다.
만일 부모 타입의 변수가 자식 객체를 참조하고 있다면 형 변환이 문제없이 이루어지지만, 부모 객체를 자식 타입으로 형 변환하거나, 아무 객체나 갖다가 형 변환을 시키면 문제가 발생할 수 있다.
이러한 문제를 해결하기 위해서 어떤 객체가 어떤 클래스의 인스턴스인지 확인하기 위해 instanceof 연산자를 사용한다.
instanceof 의 좌항에는 객체가 오고, 우항에는 타입이 온다. 만일 좌항의 객체가 우항의 인스턴스가 맞다면 true를 반환하고 아니라면 false를 반환한다.