7-26 instanceof 연산자

oyeon·2020년 12월 29일
0

(완)객체지향 개념

목록 보기
28/37
  • 참조변수의 형변환 가능여부 확인에 사용. 가능하면 true 반환
  • 형변환 전에 반드시 instanceof로 확인해야 함
void doWork(Car c){  // 매개변수로 new Car(), new FireEngine(), new Ambulance 가능
    if (c instance FireEngine) {	// 1. 형변환이 가능한지 확인
        FireEngine fe = (FireEngine)c;	// 2. 형변환
        fe.water();
        ...
    }
}
  • 자기 자신, 조상들에 대해서는 전부 true를 반환한다
FireEngine fe = new FireEngine();
System.out.println(fe instanceof Object);	// true
System.out.println(fe instanceof Car);		// true
System.out.println(fe instanceof FireEngine);	// true

Object obj = (Object)fe;   // OK
Car c = (Car)fe;	   // OK

Q. 참조변수의 형변환은 왜 하는가?

  • 참조변수(리모콘)을 변경함으로써 사용할 수 있는 멤버의 갯수를 조절하기 위해서

Q. instanceof 연산자는 언제 사용하는가?

  • 참조변수를 형변환하기 전에 형변환 가능여부를 확인할 때
profile
Enjoy to study

0개의 댓글