ch7-26 instanceof 연산자
instanceof 연산자는 참조변수의 형변환 가능여부 확인에 사용한다. 참조변수의 형변환은 조상, 자손 사이에서만 가능하다. 형변환을 할 때는 1. instatnceof 연산자를 사용해서 형변환 가능여부 확인 후 그다음 2. 형변환 해야 한다.
new Car(), new FireEngine(), new Ambulance() 3문장 모두 매개변수로 들어갈 수 있다. 다형성으로 Car또는 Car의 모든 자손이 들어갈 수 있다. Ambulance는 FireEngine과 형제관계이기 때문에 형변환이 불가능하다. 이를 판별하는 연산자가 instanceof이다.
만약 Ambulance를 형변환 하고 싶으면 else if문을 추가할 수 있다.
instanceof 연산자는 조상일 경우 무조건 true이다. instanceof 연산자의 뜻은 instanceof 뒤에 오는 것으로 형변환 가능한지 물어보는 것이다. 따라서 조상, 자손의 관계에 있으면 무조건 true이다. 따라서 아래와 같이 FireEngine의 조상인 Object, Car로 형변환 가능하다.
'자바 > 자바의 정석 Ch.7 객체지향 프로그래밍 II' 카테고리의 다른 글
ch7-29,30 여러 종류의 객체를 배열로 다루기 (0) | 2023.04.21 |
---|---|
ch7-27,28 매개변수다형성 (0) | 2023.04.20 |
ch7-24,25 참조변수의형변환(2) (0) | 2023.04.19 |
ch7-24,25 참조변수의형변환(1) (0) | 2023.04.19 |
ch7-23 다형성 (0) | 2023.04.19 |