Java/Java 기본

자바에서 객체의 타입을 확인하는 법

검정비니 2018. 7. 9. 23:30
728x90
반응형

자바에서 객체의 타입을 확인하는 법



자바로 코딩을 하다보면 각 객체들의 타입을 체크해야만 할 때가 있다. 그럴 때에 사용하는 것이 바로 instanceof 연산자이다.


instanceof 연산자의 구문은 다음과 같다:

객체_레퍼런스 instanceof 클래스_타입


instanceof는 이항 연산자로서 주어진 레퍼런스 변수가 가리키는 객체가 주어진 클래스의 타입인지 확인을 한 후, 그 결과에 해당하는 boolean을 반환한다.


i.e.

class Person {}

class Student extends Person {}

class Researcher extends Person {}

class Professor extends Researcher {}


public class InstanceofExample {


public static void main(String[] args) {

Person a = new Studnet();

Person b = new Researcher();

Person c = new Professor();

Person d = new Person();


if ( a instanceof Student)

System.out.println("a is a student");


if (b instanceof Person)

System.out.println("b is a person");


if (b instanceof Researcher)

System.out.println("b is a researcher");


if (c instanceof Person)

System.out.println("c is a person");


if (c instanceof Researcher)

System.out.println("c is a researcher");


if (c instanceof Professor)

System.out.println("c is a professor");


if ( !(d instanceof Researcher) )

System.out.println("d is not a researcher");


}

}




위의 예제를 실행시키게 되면, 다음과 같은 결과를 얻게 될 것이다.


a is a student

b is a person

b is a researcher

c is a person

c is a researcher

c is a professor

d is not a researcher

반응형

'Java > Java 기본' 카테고리의 다른 글

객체의 타입 변환 : 업캐스팅과 다운캐스팅  (0) 2018.07.09
상속과 생성자  (0) 2018.07.03
상속과 접근 지정자  (0) 2018.07.03
서브 클래스의 객체와 멤버 사용  (0) 2018.07.03
상속 선언  (0) 2018.07.02