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 |
댓글