Wrapper 클래스
- 자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나뉜다.
- 기본 타입은 byte, char, short, int, long, float, double, boolean 등이 있고
참조 타입은 class, interface 등이 있다.- 프로그래밍을 하다 보면 기본 타입의 데이터를 객체로 표현해야 하는 경우가 종종 있다.
- 매개변수로 객체를 필요로 할 때
- 기본형 값이 아닌 객체로 저장해야 할 때
- 객체 간 비교가 필요할 때
- 이때 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 한다.
- 래퍼 클래스는 java.lang 패키지에 포함되어 있으며, 아래와 같이 기본 타입에 대응되는 래퍼 클래스들이 있다.
int (primitive type)
- int는 '변수의 타입(data type)'이다.
- 변수(variable)는 '값을 저장할 수 있는 메모리 상의 공간'을 의미한다.
int a = 1;
에서 a가 변수(변수명)이고 그 앞에 적힌 int, 변수의 형을 지정해주고 있는 것이 변수의 타입(data type, 자료형)이다.- 즉 자료형은 data의 type에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것이다.
- 이 자료형은 기본형(primitive type)과 참조형(referece type)으로 나뉘는데
- int 는 이 중 기본형에 속한다. (boolean, char, byte 등도 기본형.)
- int는 산술 연산이 가능하고
- null로 초기화할 수 없다.
Integer (Wrapper class)
- Unboxing을 하지 않으면 산술 연산이 불가능하지만, null 값을 처리할 수 있다.
- null 값 처리가 용이하기 때문에 SQL과 연동할 경우 처리하기 편하다.
- DB에서 자료형이 정수형이지만 null 값이 필요한 경우 VO(Value Object)에서 Integer를 사용할 수 있다.