Backend/Java
래퍼 클래스(wrapper class)?
야뤼송
2022. 3. 3. 19:59
반응형
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)
- 박싱과 언박싱을 가장 간단하게 설명한 그림은 아래와 같다.
- 박싱 : 기본타입을 래퍼클래스로 변환
- 언박싱 : 래퍼클래스를 기본타입으로 변환
- 자동 박싱과 자동 언박싱
- 사용자가 별도 코딩 없이 자동 박싱과 언박싱으로 처리되는데 다음과 같은 경우이다.
반응형