0%

instanceof연산자

instanceof 연산자

  • 참조변수의 형변환 가능 여부 확인에 사용. 가능하면 true반환
  • 형변환 전에 반드시 instanceof로 확인해야 함
    • 형변환이 가능한지 확인 -> 형변환
1
void doWork(Car c) {
2
  if (c instanceof FireEngine) {
3
    FireEngine fe = (FireEngine)c;
4
    fe.water();
5
  else if (c instanceof Ambulance) {
6
    Ambulance ab = (Anbulance)c;
7
   ...
8
  }
9
  }
10
}
1
FireEngine fe = new FireEngine();
2
System.out.println(fe instanceof Object); // true
3
System.out.println(fe instanceof Car); // true
4
System.out.println(fe instanceof FireEngine); // true

참조변수의 형변환을 사용하는 이유는 사용할 수 있는 멤버의 갯수를 조정하기 위함임

instanceof연산자는 참조변수를 형변환하기 전에 형변환 가능여부를 확인할 때 사용함