instanceof는 객체가 주어진 타입이 맞는지 여부를 확인하는 이항 연산자로, true와 false를 결과로 반환한다.
알 수 없는 객체를 캐스팅(casting) 하기 전에 확인을 위해 쓰이며, 런타임에서 ClassCastException를 회피할 수 있도록 한다.
instanceof의 기본 문법은 아래와 같다.
: (object) instanceof (type)
단, 하기 예제처럼 null 일 시에는 false를 반환한다.
Example)
class Car { }
class Kia extends Car { }
public class InstanceofTest {
public static void main(String[] args) {
Kia kia = new Kia();
System.out.println("kia instanceof Car = " + (kia instanceof Car));
String s = "String";
System.out.println("s instanceof String = " + (s instanceof String));
s = null;
System.out.println("s instanceof String = " + (s instanceof String));
}
}
출력 결과:
kia instanceof Car = true
s instanceof String = true
s instanceof String = false
@Override
public boolean equals(Object obj) {
if(obj instanceof Student) {
Student std = (Student)obj;
if(this.studentNum == std.studentNum)
return true;
else
return false;
}
return false;
}
* 이항 연산자(binary operator)
: 두 개의 피연산자를 처리해 결과를 반환하는 연산자. 연산자는 특수한 기호나 키워드로 표현되며 숫자나 문자열 등의 비교에 사용하기 쉽다. ex) +, - == 등
: A binary operator is an operator that operates on two operands and manipulates them to return a result. Operators are represented by special characters or by keywords and provide an easy way to compare numerical values or character strings.
출처
- https://www.baeldung.com/java-instanceof
- https://stackoverflow.com/questions/7313559/what-is-the-instanceof-operator-used-for-in-java
- https://www.techopedia.com/definition/23953/binary-operator
'기술(Tech, IT) > 자바(Java)' 카테고리의 다른 글
[Java] 전역 변수(Global variable) (0) | 2022.09.18 |
---|---|
[Java] 생성자(Constructor) (0) | 2022.09.14 |
[Java] JAR(Java Archive) (0) | 2021.09.18 |
[Java] String, StringBuilder, StringBuffer (0) | 2021.07.06 |
[Java] ArrayList (0) | 2021.07.05 |