랩퍼 클래스

·2025년 5월 18일

Power Java

목록 보기
45/75

8.7 랩퍼 클래스

& 자바에서는 기초 자료형을 제외하고는 모든 것이 객체로 되어 있다.
하지만 어떤 경우에는 기초 자료형도 객체로 포장하고 싶은 경우가 있다.
ex) 객체만을 저장하는 벡터(vector)에 기초 자료형을 넣고 싶은 경우

이때 랩퍼 클래스(Wrapper Class)를 사용하여 기초 자료형을 객체로 포장할 수 있다.

Ex) Integer 클래스의 객체를 만드는 문장

int i = 100;
Integer obj = new Integer(i);
// obj 객체는 정수 100을 객체로 나타낸다.

차이점

1)
전자는 기본 자료형이므로 a.~~메소드로 실행시키는 것은 어려움
후자는 가능함 (toString 등)
2)
전자는 기본 자료형으로 스택 메모리에 저장이 되고,
후자는 클래스, 인스턴스이므로 힙메모리에 저장이 된다. (가비지컬렉터의 대상이 될 수 있음)

•기초 자료형에 대하여 해당되는 랩퍼 클래스

•랩퍼 클래스가 제공하는 메소드

-정적 메소드로 정의되어 있음. (많이 사용되기 때문) 클래스명.메소드명 형태로 사용.

Integer obj = new Integer(100);
int value = obj.intValue();	// value는 정수 100
String s = Integer.toString(100);	// s는 "100"
int i = Integer.parseInt("100");

오토박싱

: 랩퍼 객체와 기초 자료형 사이의 변환을 자동으로 해주는 기능. (오토박싱, 오토언박싱)

EX)

Integer obj;

obj = 10;						// 정수 -> Integer 객체
System.out.println(obj + 1);	// Integer 객체 -> 정수


기초형 <-> 랩퍼 클래스는
첫글자의 대소문자 차이로 판별된다.


1. 10은 int 타입의 기초 자료형, Integer(10)은 참조형(랩퍼 클래스) 객체이다.
2.

Double d = new Double(3.14);
// or
Double d = 3.14;	// 오토박싱
double value = d.doubleValue();
// or
double value = d;
double value = Double.parseDouble("3.14");
  1. 기초 자료형의 값을 자동으로 해당 래퍼 객체로 변환해주는 기능이다.

0개의 댓글