Java에서 변수 유형을 확인하는 방법

Hassan Saeed 2023년10월12일
  1. getClass().getSimpleName()을 사용하여 자바에서 변수의 타입 확인하기
  2. getClass().getTypeName()을 사용하여 자바에서 변수의 타입 확인하기
  3. 결론
Java에서 변수 유형을 확인하는 방법

자바에서는 변수나 객체의 타입을 알고 있는 것이 효율적이고 유연한 코드 작성에 중요합니다.

변수의 타입을 확인하는 두 가지 일반적인 접근 방법은 getClass().getSimpleName() 메서드와 getClass().getTypeName() 메서드를 사용하는 것입니다.

이 글에서는 자바에서 변수와 객체의 타입을 어떻게 활용하는지 소개하겠습니다.

getClass().getSimpleName()을 사용하여 자바에서 변수의 타입 확인하기

자바에서는 변수의 타입을 변수를 통해 getClass().getSimpleName() 메서드를 호출하여 확인할 수 있습니다.

이 메서드들은 객체의 실행 시점 클래스와 완전한 타입 이름에 대한 통찰력을 제공합니다.

getClass() 메서드는 자바의 모든 객체에 대해 제공되는 기본 기능입니다. 이는 객체의 실행 시점 클래스에 대한 정보를 제공하여 객체의 타입을 동적으로 이해할 수 있도록 합니다. getClass() 메서드를 사용하는 구문은 다음과 같습니다:

Class<?> objectClass = object.getClass();

이제 getClass()를 자세히 살펴보겠습니다:

단계 1: 객체 생성

먼저, 확인하려는 타입의 객체가 필요합니다. 이 예제에서는 String 클래스의 인스턴스를 생성해 보겠습니다:

Object myObject = new String("Hello, Java!");

단계 2: getClass() 메서드 호출

다음으로, 객체에 getClass() 메서드를 호출할 수 있습니다:

Class<?> objectClass = myObject.getClass();

objectClass 변수는 이제 myObject의 실행 시점 클래스를 나타내는 Class 객체를 가지고 있습니다.

단계 3: 클래스 정보 살펴보기

Class 객체를 사용하여 클래스의 이름, 수정자, 수퍼 클래스 등과 같은 다양한 측면을 살펴볼 수 있습니다. 예를 들어, 클래스의 간단한 이름(패키지 정보 없이)을 검색하려면 getSimpleName()을 사용할 수 있습니다:

String className = objectClass.getSimpleName();

이렇게 하면 클래스의 간단한 이름인 "String"을 얻을 수 있습니다.

완전한 예제 코드

getClass()를 사용하는 전체 코드는 다음과 같습니다:

public class GetTypeUsingGetClass {
  public static void main(String[] args) {
    Object myObject = new String("Hello, Java!");

    Class<?> objectClass = myObject.getClass();
    String className = objectClass.getSimpleName();

    System.out.println("Object Type: " + className);
  }
}

이 코드를 실행하면 다음과 같이 출력됩니다:

Object Type: String

아래 예제는 배열에 이 메서드를 사용하는 방법을 보여줍니다.

public class MyClass {
  public static void main(String args[]) {
    String[] arr = new String[5];
    System.out.println(arr.getClass().getSimpleName());
  }
}

출력:

String[]

이 메서드는 객체에만 호출할 수 있습니다. 따라서 기본 데이터 타입의 타입을 확인하려면 기본 데이터 타입을 먼저 Object로 캐스트해야 합니다. 아래 예제는 이 함수를 사용하여 기본 데이터 타입이 아닌 데이터 타입의 타입을 확인하는 방법을 보여줍니다.

public class MyClass {
  public static void main(String args[]) {
    int x = 5;
    System.out.println(((Object) x).getClass().getSimpleName());
  }
}

출력:

Integer

getClass().getTypeName()을 사용하여 자바에서 변수의 타입 확인하기

Java 8부터는 getTypeName()이라는 새로운 메서드가 도입되었습니다. 이 메서드는 String으로 완전한 타입 이름을 직접 제공합니다. Class 객체와의 상호작용이 필요하지 않으므로 타입 이름을 얻는 프로세스를 단순화합니다. getTypeName() 메서드를 사용하는 구문은 다음과 같습니다:

String typeName = object.getClass().getTypeName();

getTypeName()을 사용하는 방법에 대해 자세히 알아보겠습니다:

단계 1: 객체 생성

이전과 마찬가지로 타입을 확인하려는 객체가 필요합니다:

Object myObject = new String("Hello, Java!");

단계 2: getTypeName() 메서드 호출

객체에 getTypeName() 메서드를 호출하세요:

String typeName = myObject.getClass().getTypeName();

typeName 변수는 이제 객체의 완전한 타입 이름을 나타내는 String을 가지고 있습니다.

예제 코드

getTypeName()을 사용하는 전체 코드는 다음과 같습니다:

public class GetTypeUsingGetTypeName {
  public static void main(String[] args) {
    Object myObject = new String("Hello, Java!");

    String typeName = myObject.getClass().getTypeName();

    System.out.println("Object Type: " + typeName);
  }
}

이 코드를 실행하면 다음과 같이 출력됩니다:

Object Type: java.lang.String

결론

자바 프로그래밍에서 변수의 타입을 얻는 것은 견고하고 적응 가능한 애플리케이션을 만들기 위해 필수적입니다. getClass().getSimpleName()getClass().getTypeName() 메서드를 사용하면 변수의 타입을 효율적으로 확인할 수 있습니다.

이러한 방법들은 개발자에게 정보를 제공하여 판단력 있는 결정을 내릴 수 있게 하고, 객체를 타입에 따라 분류하며, 다양한 객체 유형에 동적으로 적응하는 코드를 작성할 수 있게 합니다. 간단한 또는 완전한 자격이 부여된 유형 이름이 필요한 경우, Java는 변수의 유형에 대한 통찰력을 얻을 수 있는 도구를 제공하여 코드를 더 유연하고 응답성이 있는 것으로 만듭니다.

관련 문장 - Java Data Type