본문 바로가기
Java

Java instanceof란?

by 신입같은 3년차 2017. 7. 12.

instanceof란?

 

 - 객체 타입을 확인하는데 사용한다. 속성은 이항연산자이고 형변환 가능여부를 가능하면 true 불가능하면 false로 리턴해준다.

   주로 상속 관계에서 부모객체인지 자식객체인지 확인하는데 사용한다.

 

※ 주의할점  ( 뒤에 나오는 예제를 통해 확인 할 수 있다. )

  // 주의할점은 조건문의 순서는 가장 최하위 클래스 부터 작성해야한다.
  // 그이유는 최상위 클래스를 맨위에 적어버린다면 첫번째 조건문에서 true를 만족하기때문에 첫번째 조건만을 수행한다.

 



/**
 * instanceof : 객체 타입을 확인하는데 사용한다. 속성은 이항연산자이고 형변환 가능여부를 가능하면 true 불가능하면 false로 리턴해준다. 
 * 				주로 상속 관계에서 부모객체인지 자식객체인지 확인하는데 사용한다.
 */
public class InstanceofExam {
	public static void main(String[] args) {
		
		A a = new A();
		B b = new B();
		
		
		//객체 a는 자기 자신의 객체이기 때문에 형변환 가능.
		System.out.println(a instanceof A);  //true 출력
		
		//객체 b는 A의 자식객체이기 때문에 A로 형변환 가능.
		System.out.println(b instanceof A);  //true 출력
		
		
		//객체 a는 B의 부모객체이기때문에 형변환 불가능.
		System.out.println(a instanceof B);  //false 출력
		
		//객체 b는 자기 자신의 객체이기때문에 형변환 가능.
		System.out.println(b instanceof B);  //true 출력
		
	} // end of main 
} // end of class


class A{
	
}

class B extends A{
	
}

반응형

'Java' 카테고리의 다른 글

Java 캡슐화 (Encapsulation)란?  (0) 2017.07.12
Java 간단한 Singleton 예제  (0) 2017.07.12
Java 접근제어자  (0) 2017.07.11
Java 오버로딩과 오버라이딩의 기본  (0) 2017.07.11
Java 오버라이딩(Overriding)이란?  (0) 2017.07.11

댓글