본문 바로가기
728x90
반응형

instanceof란?

Java의 'instanceof'는 특정 객체가 특정 클래스나 인터페이스의 인스턴스인지를 검사하는 연산자로 다형성을 활용한 객체지향 프로그래밍에서 중요한 역할을 한다.

 

instanceof의 사용 방법

'instanceof'는 두 개의 피연산자를 가지는데, 왼쪽에는 검사할 객체를, 오른쪽에는 검사할 타입(클래스나 인터페이스)를 필요로 한다. 연산 결과는 boolean 형태로 반환되며, 왼쪽의 객체가 오른쪽의 타입의 인스턴스이면 true, 아니면 false를 반환합니다.

Object myObject = new String("Hello");
boolean isString = myObject instanceof String;  // true 반환

instanceof가 주로 사용되는 경우

1. 다형성을 활용하여 상위 클래스의 참조 변수로 여러 하위 클래스의 인스턴스를 가리킬 때, 실제로 어떤 하위 클래스의 인스턴스를 가리키고 있는지 확인하기 위해 사용한다.
2. 특정 메서드가 다양한 클래스의 객체를 인수로 받을 경우, 인수로 전달된 객체의 실제 타입에 따라 다른 동작을 수행하게 하기 위해 사용한다.

if (myDog instanceof Dog) {
    System.out.println("myDog is an instance of Dog");
}
if (myDog instanceof Animal) {
    System.out.println("myDog is an instance of Animal");
}

 

728x90
반응형