[java] 자바 제네릭을 사용한 타입 검사와 타입 캐스팅

자바에서는 제네릭을 사용하여 타입 안정성을 보장하고, 타입 검사 및 캐스팅을 편리하게 처리할 수 있습니다. 제네릭을 통해 컴파일 시점에 타입 정보를 검사하여 안전한 코드를 작성할 수 있고, 불필요한 타입 캐스팅을 줄일 수 있습니다.

타입 검사 (Type Checking)

제네릭을 사용하여 타입을 검사하는 방법 중 하나는 instanceof 연산자를 활용하는 것입니다.

if (obj instanceof MyClass) {
    // MyClass 타입일 때의 로직
} else {
    // 다른 타입일 때의 로직
}

이처럼 instanceof 연산자를 사용하여 객체가 특정 타입인지를 확인할 수 있습니다. 이를 통해 런타임 시에 적절한 타입의 로직을 수행할 수 있습니다.

타입 캐스팅 (Type Casting)

제네릭에서는 타입 캐스팅을 수동으로 처리하는 경우가 많이 있습니다.

List<Object> objectList = new ArrayList<>();
objectList.add("String");
objectList.add(123);

for (Object obj : objectList) {
    if (obj instanceof String) {
        String str = (String) obj;
        // 문자열 타입으로 캐스팅하여 로직 수행
    } else if (obj instanceof Integer) {
        Integer num = (Integer) obj;
        // 정수 타입으로 캐스팅하여 로직 수행
    }
}

이렇게 제네릭을 사용하면 컴파일러가 타입을 검사하므로, 안전하게 타입 캐스팅을 수행할 수 있습니다.

제네릭을 사용하여 타입 검사와 타입 캐스팅을 보다 안전하고 효율적으로 처리할 수 있습니다.

이를 통해 런타임 시 발생할 수 있는 타입 관련 오류를 사전에 방지할 수 있습니다.

참고 자료

위 내용은 Java Generics에 대한 간략한 소개로, 제네릭을 사용한 타입 검사와 타입 캐스팅에 대해 다루었습니다.