기술(Tech, IT)/자바(Java)

[Java] instanceof

Daniel803 2021. 8. 23. 15:06

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