반응형

자바의 Integer와 int 자료형 차이

 

1. 기본 데이터 타입 (Primitive Type) - int

 

정의: int는 기본 데이터 타입으로, 32비트 정수를 저장합니다.

특징:

메모리 효율적: 4바이트(32비트)를 사용하여 정수 값을 저장합니다.

값 저장: 단순히 값을 저장하고 연산을 수행합니다.

기본값: 0 (선언만 하고 초기화하지 않은 경우)

성능: 오토박싱/언박싱이 필요 없기 때문에 성능이 더 좋습니다.

 

2. 참조 데이터 타입 (Reference Type) - Integer

 

정의: Integer는 자바의 래퍼 클래스(wrapper class)로, int의 객체 표현입니다.

특징:

클래스 기반: Integer 클래스는 java.lang 패키지에 속하며, 객체로 취급됩니다.

기본값: null (선언만 하고 초기화하지 않은 경우)

기능: 추가 메서드와 기능 제공 (예: parseInt, valueOf, toString 등)

오토박싱 및 언박싱: 자바 컴파일러가 기본 타입과 래퍼 클래스 간의 자동 변환을 수행합니다.

 

Integer x = 10; // 오토박싱
int y = x;      // 언박싱
Integer z = Integer.valueOf(20);
int sum = x + z;

3. 차이점 요약

 

4. 언제 사용해야 하나?

int 사용 시점:

- 성능이 중요한 경우

- 단순히 숫자 값을 저장하고 연산할 때

Integer 사용 시점:

- 객체로 처리해야 할 때 (예: 컬렉션 프레임워크와 함께 사용)

- null 값을 허용해야 할 때

- 메서드와 추가 기능이 필요할 때

 

 

5. 기본 데이터 타입과 래퍼 클래스의 다른 예

 

자바에는 다양한 기본 데이터 타입과 그에 대응하는 래퍼 클래스가 있습니다. 각 래퍼 클래스는 기본 데이터 타입을 객체로 다룰 수 있도록 하며, 추가적인 메서드와 기능을 제공합니다.

 

 기본 데이터 타입과 그에 대응하는 래퍼 클래스

 

요약

 

기본 데이터 타입은 메모리 효율적이고 성능이 좋지만, 객체로 다룰 수 없으며 null 값을 가질 수 없습니다. 반면 래퍼 클래스는 추가적인 메서드와 기능을 제공하며 컬렉션과 같은 객체 기반 데이터 구조에서 사용할 수 있습니다. 따라서 상황에 따라 적절한 타입을 선택하는 것이 중요합니다.

반응형

+ Recent posts