반응형
Instanceof 연산자란?
객체가 어떤 클래스인지, 어떤 클래스를 상속받았는지 확인하는데 사용하는 연산자 이다.즉, 참조변수가 참조하고 있는 인스턴스의 실제 타입을 알아보기 위해 해당 연산자를 사용한다.
💡문법💡
object instanceOf type
object가 type이거나 type을 상속받는 클래스라면 true를 리턴합니다. 그렇지 않으면 false를 리턴합니다.
💎예제💎
간단하게 살펴보자면,
class A { }
class B extends A { } // A 클래스를 상속
public static void main(String[] args) {
A a = new A();
B b = new B();
System.out.println(a instanceof A); // true 출력
System.out.println(b instanceof A); // true 출력 : A를 상속 받았기 때문
System.out.println(a instanceof B); // false 출력
System.out.println(b instanceof B); // true 출력
}
🙄그럼 Object에 대한 Instanceof는 어떤 값이 나올까?
→ true 값이 나온다!
모든 클래스는 Object를 상속하기 때문에 Object Instanceof Object 는 항상 true라는 값이 나옴.
🙄그럼 아래 코드처럼 null에 대한 Instanceof는 어떤 값이 나올까?
Car car = null;
System.out.println(car instanceof Object);
→ false 값이 나온다!
* 참고자료 : Java의 정석
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
[ JAVA ] 추상클래스(abstract class)란? (0) | 2022.10.27 |
---|---|
[ JAVA ] 다형성 - 매개변수의 다형성, 여러 종류의 객체 배열 (0) | 2022.10.27 |
[ JAVA ] 다형성 - 참조변수의 형변환 (0) | 2022.10.27 |
[ JAVA ] 다형성이란? (0) | 2022.10.27 |
[ JAVA ] 변수의 초기화란? 변수의 초기화 방법 (0) | 2022.10.05 |