열혈 Java 15 - instanceof 연산자

whipbaek·2021년 12월 30일
0

열혈Java

목록 보기
15/18
post-thumbnail

instanceof 연산자

if(ref instanceof ClassName)

ref 참조하고 있는 클래스의 참조변수로 ClassName 클래스를 참조 가능하면 True를 반환하는 연산.

예시



class Cake{}
class CheeseCake extends Cake {}
class StrawberryCheeseCake extends CheeseCake {}

public class example_instanceof {

	public static void main(String[] args) {

		Cake new_cake = new StrawberryCheeseCake();
		
		if(new_cake instanceof Cake) {
			System.out.println("True");
		} 
		else System.out.println("False");
		
		if(new_cake instanceof CheeseCake) {
			System.out.println("True");
		} 
		else System.out.println("False");
		
		if(new_cake instanceof StrawberryCheeseCake) {
			System.out.println("True");
		} 
		else System.out.println("False");
	}

}

결괏값

  • new_cake가 참조하고 있는 클래스(StrawberryCheeseCake)를 ClassName의 참조변수로 참조가 가능한지를 묻고 있는것이다.

  • Cake도, CheeseCake도, StrawberryCheeseCake 의 참조변수들로 StrawberryCheeseCake 클래스 참조가 가능하다. 그렇기 때문에 위의 결과가 나오게 된다.

출처 : 윤성우의 열혈Java 프로그래밍

profile
코딩 및 CS에 관하여 공부합니다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN