728x90
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{
}
728x90
반응형
'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 |
댓글