instanceof 연산자
객체의 클래스를 알아내는 연산자 입니다.
추상클래스를 사용하다 보면 많은 양의 서브 클래스를 다뤄야 하는 경우가 있습니다.
이럴 때 instanceof 연산자를 사용하여 어떤 서브클래스 객체를 사용하는지 알아낼 수 있습니다.
instanceof 연산자를 사용하면 좌변의 변수가 가리키는 객체의 클래스가
오른쪽과 같은 클래스인지 여부를 확인할 수 있습니다.
예제 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class instanceofTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
abstractClass[] asc = new abstractClass[2];
asc[0] = new extendsabstractClass_1();
asc[0].show();
asc[1] = new extendsabstractClass_2();
asc[1].show();
for(int i = 0; i < asc.length; i++) {
if(asc[i] instanceof extendsabstractClass_2)
System.out.println("extendsabstractClass_2 서브클래스 입니다.");
}
}
}
abstract class abstractClass {
abstract public void show();
}
class extendsabstractClass_1 extends abstractClass {
public void show () {
System.out.println("추상클래스를 상속받은 extendsabstractClass1 Show 함수");
}
}
class extendsabstractClass_2 extends abstractClass {
public void show () {
System.out.println("추상클래스를 상속받은 extendsabstractClass2 Show 함수");
}
}
|
cs |
자바 instanceof 연산자
자바 instanceof 예제
자바 instanceof 사용방법
'Computer Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 인터페이스란, 2개 이상의 인터페이스 구현하기 (0) | 2021.03.15 |
---|---|
[JAVA] 자바 인터페이스란 (0) | 2020.12.16 |
[JAVA] 자바 추상클래스란 (0) | 2020.12.16 |
[JAVA] 오버로딩(overloading)과 오버라이딩(overriding) 차이점 (0) | 2020.12.13 |
[JAVA] 자바 오버라이딩이란? (0) | 2020.12.13 |