Wrapper 클래스
Wrapper 클래스란 기본 자료형을 클래스로 정의한 것을 말한다.
즉, 흔히 써온 int, char, boolean 등을 클래스로 정의한 것이다.
1. wrapper 클래스가 필요한 이유
만약 어떤 객체를 관리하기 위해 ArrayList 를 만들어 담는다고 생각해보자.
그럼 아래와 같이 코드를 작성하게 될 것이다.
ArrayList<Userclass> user = new ArrayList<>();
만약 리스트에 담을 데이터가 1,2,3 ~ 과 같은 일반 정수형 데이터이면 어떻게 해야 할까?
단순히 생각해 <Userclass> 대신에 <int> 로 바꾸면 아래처럼 빨간 줄이 그어진다.

이러한 문제를 막기 위해서는 기본 자료형을 클래스(인스턴스)처럼 사용이 가능하여야 한다.
따라서 기본 자료형을 클래스로 만들어 사용하는 이유는 인스턴스를 만들기 위해서 이다.
또는 형변환에서도 사용이 가능하다.
String ss = "2000";
int d = Integer.parseInt(ss);
System.out.println(ss + 1);
System.out.println(d + 1);
위의 코드를 보면 Integer 클래스의 메소드인 parseInt() 를 통해 문자열을 정수형으로 변환하는 것을 볼 수 있다.
정말 변환된 것인가를 확인하기 위해 출력에서 +1 을 진행하였다.

실행 결과를 보면 문자열 ss + 1은 문자열 뒤에 1이 추가된 20001 이며 정수 d+1 은 2000+1 = 2001 로
결과가 다른 것을 확인할 수 있다.
2. wrapper 클래스
Wrapper 클래스라고 부르는 클래스는 기본 자료형에 대한 클래스를 포괄적으로 말하는 것이다.
여기서 기본 자료형에 대한 클래스는 다음과 같다.
- 0열 선택0열 다음에 열 추가
- 1열 선택1열 다음에 열 추가
- 0행 선택0행 다음에 행 추가
- 1행 선택1행 다음에 행 추가
- 2행 선택2행 다음에 행 추가
- 3행 선택3행 다음에 행 추가
- 4행 선택4행 다음에 행 추가
- 5행 선택5행 다음에 행 추가
- 6행 선택6행 다음에 행 추가
- 7행 선택7행 다음에 행 추가
- 8행 선택8행 다음에 행 추가
자료형
|
클래스 명
|
short
|
Short
|
int
|
Integer
|
long
|
Long
|
float
|
Float
|
double
|
Double
|
boolean
|
Boolean
|
char
|
Character
|
byte
|
Byte
|
표를 보면 바로 알 수 있듯이 자료형의 첫 글자를 대문자로 바꾸면 된다.
물론 줄임말인 int 와 char 는 원래 단어로 써주면 된다.
3. 형변환 해주는 메소드 parse()
위에서 잠깐 언급했지만 각 자료형 클레스에는 다른 자료형을 자신의 형태로 변환해주는 메소드가 존재한다.
String ss = "2000";
int d = Integer.parseInt(ss);
System.out.println(Double.parseDouble(ss));
System.out.println(Float.parseFloat(ss));
System.out.println(Short.parseShort(ss));

간단하게 문자열을 정수 또는 실수로 변환하여 출력하는 코드이다.
메소드를 보면 클래스마다 메소드 이름이 유사한 것을 볼 수 있다.
parse() 메소드는 static 이므로 사용하기 위해서는 별도로 import 또는 인스턴스가 필요하지 않다.
※Charcater 클래스에는 parse() 메소드가 없다.