반응형
1. 서두
- JAVA 개발, 혹은 공부를 하다보면 래퍼 클래스에 대해 자주 접하게된다.
래퍼 클래스란 무엇이고 왜 필요한지에 대해 정리를 해볼까 한다.
2. 래퍼 클래스(wrapper class)?
- wrapper란 우리가 흔히 영어에서 사용하는 것과 같이 무엇인가를 포장할 때 사용되는 단어이다. 자바의 자료형은 총 8개의 기본 타입이 있다. 이를 우리는 primitive type이라고 부른다.
- 때때로 기본형의 자료 타입을 객체화가 필요한데 기본형의 자료 타입을 객체화 해준 것을 래퍼 클래스라고 한다.
기본형과 래퍼 클래스는 다음과 같다.
Primitive | Wrapper Class |
byte | Byte |
short | Short |
int | Integer |
long | Long |
flat | Float |
double | Double |
char | Character |
boolena | Boolean |
3. 래퍼 클래스가 필요한 이유?
- 위에서 보다시피 기본형과 래퍼클래스는 유사하게 생긴 것을 확인할 수 있는데 왜 래퍼 클래스가 필요할까?
- 데이터의 형변환 시 필요하다
- String 데이터를 기본형으로 변경시에 사용된다. - ArrayList, Set 등과 같은 Collection Framework의 데이터 구조는 기본형이 아닌 객체만 저장이 가능하다. 그렇기 때문에 제네릭 에는 기본형이 아닌 래퍼클래스가 사용된다.
4. 박싱(Boxing)과 언박싱(UnBoxing)
- 박싱과 언박싱을 가장 간단하게 설명한 그림은 아래와 같다.
- 박싱 : 기본타입을 래퍼클래스로 변환
- 언박싱 : 래퍼클래스를 기본타입으로 변환
- 자동 박싱과 자동 언박싱
- 사용자가 별도 코딩 없이 자동 박싱과 언박싱으로 처리되는데 다음과 같은 경우이다.
반응형
'Backend > Java' 카테고리의 다른 글
Java - Generic(제네릭) 2편 - 제네릭제약(와일드카드, extends, super) (0) | 2022.05.13 |
---|---|
Java - Generic(제네릭) 1편 (0) | 2022.04.22 |
JAVA 버전별 특징(Java7~10) (0) | 2022.03.10 |
인터페이스를 사용하는 이유 (0) | 2016.12.13 |
serializer/deserialization (0) | 2016.02.14 |