728x90
Wrapper Class (포장 클래스)
- 기본형(primitive type)을 객체(Object)로 감싸는 클래스
기본형과 대응되는 포장 클래스
기본형 | 포장 클래스 (java.lang) |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
포장 클래스를 사용하는 이유
이유 | 설명 |
객체가 필요한 곳에서 사용 | 예: 컬렉션(List, Map)은 기본형을 담을 수 없고 객체만 가능 |
메서드 제공 | Integer.parseInt(), Double.toString() 등 유용한 메서드 활용 |
null 허용 | 객체는 null 저장 가능 → 기본형은 null 불가 |
형변환 및 비교 기능 | equals(), compareTo() 등 메서드 사용 가능 |
오토박싱 / 언박싱 (자동 변환)
- java 5 부터는 자동으로 변환해주는 기능이 도입
// 오토박싱 (자동 객체화)
int x = 100;
Integer obj = x; // 자동으로 Integer.valueOf(x)
// 언박싱 (자동 기본형 변환)
Integer obj = 200;
int y = obj; // 자동으로 obj.intValue()
실전 예제
List<Integer> list = new ArrayList<>();
list.add(10); // 오토박싱: int → Integer
list.add(20);
int sum = list.get(0) + list.get(1); // 언박싱: Integer → int
System.out.println("합계: " + sum); // 출력: 합계: 30
주요 메서드 (Integer 예시)
Integer i = 42;
i.intValue(); // 기본형으로 반환 → 42
i.toString(); // 문자열로 변환 → "42"
Integer.parseInt("123"); // 문자열을 int로 변환
Integer.compare(5, 7); // -1 반환 (5 < 7)
Integer.MAX_VALUE; // int의 최대값 (2^31 - 1)
728x90
'언어(Language) > Java' 카테고리의 다른 글
[Java] System 클래스 (2) | 2025.06.08 |
---|---|
[Java] Number 클래스 (1) | 2025.06.08 |
[Java] StringBuffer 클래스 (2) | 2025.06.08 |
[Java] java.lang 패키지 (1) | 2025.06.08 |
[Java] Object 클래스 (1) | 2025.06.08 |