Programming/Java
타입 확인
seandoesdev
2023. 8. 4. 04:02
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 인스턴스인지 매개변수화된 타입인지 확인한다.