Home > Backend > Java > ☕️[Java] 타입 비교.

☕️[Java] 타입 비교.
Java Programming Language Backend

타입 비교.

자바 프로그래밍에서 두 변수의 타입이 같은지 비교하는 방법은 몇 가지 상황에 따라 다릅니다.
여기서는 변수가 기본형(Primitive types) 인 경우와 참조형(Reference types) 인 경우로 나누어 설명하겠습니다.

1️⃣ 기본형 변수의 타입 비교.

기본형 변수의 경우, 자바는 정적 타입 언어이기 때문에 변수의 타입이 코드 작성 시 결정됩니다.
두 변수가 같은 기본형 타입인지 비교하는 일반적인 상황은 적으며, 주로 타입을 확인하거나 변환할 때 컴파일러가 자동으로 처리합니다.
그러나 명시적으로 확인하고 싶다면, 두 변수의 타입을 직접 코드에서 확인할 수 있습니다.
이는 일반적인 코딩 상황보다는 주로 제네릭 코드나 리플렉션을 사용할 때 발생합니다.

2️⃣ 참조형 변수의 타입 비교.

참조형 변수의 경우 타입 비교는 다음 두 가지 방법으로 이루어질 수 있습니다.

2.1 instanceof 연산자 사용.

instanceof 연산자는 특정 객체가 지정된 클래스의 인스턴스이거나 그 서브클래스의 인스턴스인지를 검사합니다.

  • 이 방법은 주로 객체의 타입을 확인할 때 사용됩니다.
Object a = "Hello";
Object b = new String("Hello");

if (a instanceof String && b instanceof String) {
    System.out.println("두 객체는 같은 타입입니다.");
}

2.2 getClass() 메서드 사용.

객체의 정확한 클래스를 알고 싶을 때 getClass() 메서드를 사용할 수 있습니다.
이 메서드는 객체의 런타임 클래스를 리턴합니다.

  • 두 객체의 클래스가 정확히 같은지 비교할 때 유용합니다.
Object a = new Integer(5);
Object b = new Double(5.0);

if (a.getClass().equals(b.getClass())) {
    System.out.println("두 객체는 같은 클래스입니다.")
} else {
    System.out.println("두 객체는 다른 클래스입니다.")
}

📝 마무리.

이 방법들은 객체의 타입을 정확히 확인할 수 있으며, 특히 다형석을 활용하는 객체지향 프로그래밍에서 유용하게 사용됩니다.
또한, 테스트 코드나 동적 타입 처리가 필요한 상황에서 자주 사용됩니다.