Java Instance of 연산자

Jakezo·2021년 8월 23일
0

instanceOf 연산자는 객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자입니다.

instanceOf를 어떻게 사용하고, 어떻게 동작하는지 알아보겠습니다.

Syntax

Syntax는 다음과 같습니다. object가 type이거나 type을 상속받는 클래스라면 true를 리턴합니다. 그렇지 않으면 false를 리턴합니다.

object instanceOf type

instanceOf 예제

간단히 표현하면 ArrayList와 List 클래스의 구조는 다음과 같습니다.

public class ArrayList<E> implements List {
}

public List {

}

아래와 같이 ArrayList 객체가 있을 때, instanceOf를 사용하면 이 객체가 ArrayList인지, List로부터 상속받은 클래스의 객체인지 확인할 수 있습니다.

ArrayList list = new ArrayList();

System.out.println(list instanceof ArrayList);
System.out.println(list instanceof List);

Output:

true true

하지만 다음과 같이 Set의 클래스인지 확인해보면 false를 리턴하게 됩니다. ArrayList는 Set도 아니고, Set를 상속하지도 않기 때문입니다.

ArrayList list = new ArrayList();
System.out.println(list instanceof Set);

cod

Output:

false

Object에 대한 instanceOf

모든 클래스는 Object를 상속하기 때문에 object instanceOf Object는 항상 true를 리턴합니다.

ArrayList list = new ArrayList();

System.out.println(list instanceof Object);

Output:

true

profile
탐험가

0개의 댓글