연산자를 사용하면
instanceof
객체가 어떤 클래스에서 왔는지 확인할 수 있습니다. 이 연산자에는 두 개의 인수가 있습니다. 왼쪽에는 개체에 대한 참조가 있고 오른쪽에는 개체의 호환성이 확인되는 유형의 이름이 있습니다. 예를 들어:
Parent р = new Child(); // проверяем переменную р типа Parent
//на совместимость с типом Child print(p instanceof Child);
결과는 사실이 될 것입니다 . 따라서 연산자는 instanceof
참조 유형이 아니라 참조하는 개체의 속성에 의존합니다. 그러나 이 연산자는 객체가 파생된 유형에 대해서만 참값을 반환하는 것이 아닙니다. 이미 선언된 클래스에 하나를 더 추가해 보겠습니다.
// Объявляем новый класс и наследуем
// его от класса Child
class ChildOfChild extends Child {}
이제 새로운 유형의 변수를 만들어 보겠습니다.
Parent p = new ChildOfChild();
print(p instanceof Child);
Parent
첫 번째 줄은 에서 파생된 개체에 대한 참조로 초기화되는 유형의 변수를 선언합니다 ChildOfChild
. 두 번째 줄에서 명령문은 클래스와 instanceof
유형 참조의 호환성을 분석하며 관련 객체는 첫 번째 또는 두 번째 클래스에서 파생되지 않습니다. 그러나 이 객체가 파생된 클래스가 에서 상속 되므로 연산자는 true를 반환합니다 . 원본 소스 링크: Operator instanceofParent
Child
Child
GO TO FULL VERSION