자바의 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 값을 가질 수 없습니다. 반면 래퍼 클래스는 추가적인 메서드와 기능을 제공하며 컬렉션과 같은 객체 기반 데이터 구조에서 사용할 수 있습니다. 따라서 상황에 따라 적절한 타입을 선택하는 것이 중요합니다.
'Java > Java 기본 및 이론' 카테고리의 다른 글
자바 상속 (0) | 2021.03.07 |
---|---|
[Java] 자바 클래스 와 객체 및 키워드 (0) | 2021.01.17 |
[Java] 자바 기본 제어문 - 선택문, 반복문 (0) | 2021.01.11 |
[Java] junit5 설명 및 기본 사용 - junit4 와 5 비교 (0) | 2021.01.11 |
[Java] 자바의 연산자 (0) | 2021.01.07 |