프로젝트를 하며 Entity를 설계할 때 멤버변수로 기본 자료형이 아닌 참조형 Wrapper 클래스를 사용하는 것이 좋다는 피드백을 받고 자료형을 수정하였다. Wrapper 클래스란 무엇이고 왜 사용하는지 알아보자

 

Wrapper클래스란 기본 자료형을 객체화 한것이다.

즉 다른 참조형 객체와 동일하게 대입 (=) 할때 값복사가 아닌 주소 복사가 일어난다.

 

 

다음과 같이 기본 자료형에 대응되는 Wrapper class들이 있다.

기본형과 Wrapper 클래스의 구별방법은 앞에 대문자가 있으면 Wrapper클래스이다.

 

Primitive Type Wrapper Class
boolean Boolean
byte Byte
char Character
float Float
int Integer
long Long
short Short
double Double

 

primitive Type사용하면 좋은 점

  • 기본형은 산술 연산이 가능(auto unboxing없이)
  • 성능 측면에서 더 좋다

 

 

Wrapper 클래스 사용하면 좋은 점

  1. 데이터 타입을 Object타입으로 변환할 수 있다. (null값이 가능하다)
  2. java.util패키지의 클래스는 객체만 처리하므로 이 경우도 도움이 된다.
  3. Generic(<>) 은 객체만 저장하게된다. 기본 자료형 사용시 자동 boxingunboxing이 일어난다.
  4. 멀티스레딩에서 동기화를 지원하려면 객체가 필요하다.

 

boxing : 기본자료형을 wrapper클래스로 바꾸어 주는것

unboxing : wrapper클래스를 기본 자료형으로 바꿔주는 것

 

 

 

+ Recent posts