InstanceOf 연산자란?
변수가 참조 하고 있는 인스턴스의Type을 알아보기 위해 사용된다.
FireEngine f = new FireEngine();
Car c = new Car();
if ( c instanceof FireEngine) {
//조건이 true 라면 변수(c)가 인스턴스의 타입으로 형변환 가능
FireEngine f = (FireEngine) c;
f.water();
}
class Car{}
class FireEngine extends Car{
void water() {}
}
부모타입의 참조변수로 자손타입의 인스턴스를 참조 할 수 있기 때문에
참조변수의 타입과 인스턴스의 타입은 항상 일치 하지는 않는다.
부모타입의 참조 변수로는 실제 인스턴스의 멤버들을 모두 사용할 수 없기 때문에 실제 인스턴스와 같은 타입의 참조 변수로 형변환을 해야 인스턴스의 모든 멤버들을 사용 할 수 있다
어떤 타입에 대한 instanceof 연산결과가 true라는 것은 검사한 타입으로 형변환이 가능하다는 것이다
참고 : http://arabiannight.tistory.com/entry/301
Primitive Type & Reference Type (0) | 2013.10.23 |
---|---|
Generics:제네릭스에 대하여 스터디 #1 (0) | 2013.10.23 |
postgreSQL 간단 사용 (0) | 2013.06.18 |