본문 바로가기
언어(Language)/Java

[Java] Wrapper Class (포장 클래스)

by 송기동 2025. 6. 8.
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