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)

  • 박싱과 언박싱을 가장 간단하게 설명한 그림은 아래와 같다.
    출처 : https://coding-factory.tistory.com/547
  • 박싱 : 기본타입을 래퍼클래스로 변환
  • 언박싱  : 래퍼클래스를 기본타입으로 변환
  • 자동 박싱과 자동 언박싱
    - 사용자가 별도 코딩 없이 자동 박싱과 언박싱으로 처리되는데 다음과 같은 경우이다. 

 

 

반응형