사이드 프로젝트/테니스투게더
기본 자료형과 Wrapper 클래스
Ilhoon
2021. 11. 28. 20:26
프로젝트를 하며 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 클래스 사용하면 좋은 점
- 데이터 타입을
Object
타입으로 변환할 수 있다. (null
값이 가능하다) java.util
패키지의 클래스는 객체만 처리하므로 이 경우도 도움이 된다.Generic(<>)
은 객체만 저장하게된다. 기본 자료형 사용시 자동 boxing과 unboxing이 일어난다.- 멀티스레딩에서 동기화를 지원하려면 객체가 필요하다.
boxing : 기본자료형을 wrapper클래스로 바꾸어 주는것
unboxing : wrapper클래스를 기본 자료형으로 바꿔주는 것