BLOG ARTICLE java강좌 | 1 ARTICLE FOUND

  1. 2008/03/22 instanceof 와 상속관계


instanceof 와 상속관계에 대해서 알아보자.


instanceof


Object 클래스는 모든 객체의 최상위 객체이므로 모든 자료형의 최상위자료형이라 있습니다. 그리고, 자바에서는 배열도 하나의 객체이므로 배열의 상위클래스 역시 Object 클래스가 됩니다. 다시 말해서, 배열 객체에서 Object 클래스의 모든 변수와 메소드를 사용할 있습니다. , 주어진 객체가 어떤 클래스 또는 클래스 상속하는 하위클래스의 인스턴스인지를 검사하기 위해 ‘instanceof’라는 연산자를 사용합니다. 또한, ‘instanceof’라는 연산자를 사용하여 어떤 인터페이스를 구현하고 있는 객체 클래스인지 하위클래스인지를 검사할 수도 있습니다.

클래스를 생성.



사용자 삽입 이미지

Father Class, Father Class 를 상속받은 Son Class

그리고 Uncle Class 를 정의하였다.

( 별로 특별한건 없다.  기본 클래스 정의)

메인 클래스 생성!


사용자 삽입 이미지


메인 클래스를 생성하고 Son Class의 객체인 dynast를 생성.

instanceof 연산자를 이용해 상속관계를 테스트해봅니다.

만약 dynast 가 Father 클래스를 상속받은 객체라면 if문이 실행 되겠죠?



실행결과!

사용자 삽입 이미지

제대로 나오는군요.

dynast객체 즉 Son Class는 Father Class 로 부터 상속을 받았으니까요.


자 그럼!  두번째 테스트!!



사용자 삽입 이미지

dynast가 Uncle 클래스로 부터 상속받은 객체라면 if문이 실행 되겠죠?
(그림 크기가 작으시면 그림을 누르시면 커집니다.)


실행결과!

사용자 삽입 이미지


조건이 성립되지 않는다고 나오는군요.

즉 Son Class는 Uncle Class로 부터 상속을 받지 않았다는 것이군요.

instanceof 는 이 처럼 상속관계도 쓰이고 객체가

특정 인터페이스를 구현했는지

안했는지도 알아낼수있습니다.

(테스트 삼아 직접 해보세요^^)

여러모로 쓸모가 있는 연산자입니다^^

유용하게 쓰시길 바랍니다 '_^

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)