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연산자는 참조변수를 형변환하기 전에 형변환 가능여부를 확인할 때 사용함