1. instanceof 연산자 활용
자주 사용하는 방식으로 왼쪽의 객체가 오른쪽에 있는 클래스 또는 인터페이스의 인스턴스인지 확인하는 데 사용한다.
String str = new String("Hi");
if (str instanceof String){
System.out.println("Nice to meet you.");
} else {
System.out.println("oh, Sorry. I've got to go now.");
}
2. getClass() 메소드 사용
getClass() 메소드를 통해 사용하는 것은 정확한 클래스를 반환하므로 서브클래스와 슈퍼클래스를 구별할 수 있다.
String str = new String("Hi");
if (str.getClass() == String.class){
System.out.println("Nice to meet you.");
} else{
System.out.println("oh, Sorry. I've got to go now.");
}
3. Type 사용
Type이라는 인터페이스를 통해 런타임에 객체의 타입 정보를 얻을 수 있다. ‘Type’은 제네릭 타입을 위한 슈퍼 인터페이스로, 실제 타입, 매개변수화된 타입, 배열 타입, 타입 변수 또는 원시 타입을 나타낼 수 있다.
public void checkType(Type type){
if (type instanceof Class<?>){
System.out.println("Class Type");
} else if (type instanceof ParameterizedType) {
System.out.println("Parameterized Type");
} else {
System.out.println("Unknown type");
}
}
Type 타입의 매개 변수를 받아 해당 타입이 Class 인스턴스인지 매개변수화된 타입인지 확인한다.
Reference
'Programming > Java' 카테고리의 다른 글
[Servlet / JSP] 서블릿 웹 프로젝트 생성 (0) | 2023.08.09 |
---|---|
[Java] JDK / JRE / JVM (0) | 2023.08.08 |
[JDBC] Service-DAO-DTO 구축 (0) | 2023.08.04 |
[JDBC] Oracle Database 연동 (0) | 2023.08.01 |
JAVA - 자료형 형변환 주의할 점 (0) | 2023.06.18 |