반응형
기본형 | 래퍼클래스 | 생성자의 인자 |
byte | Byte | byte OR String |
short | Short | short OR String |
int | Integer | int OR String |
long | Long | long OR String |
float | Float | float, double OR String |
double | Double | double OR String |
char | Character | char |
boolean | Boolean | boolean OR String |
Primitive Type인 기본형을 Reference Type으로 객체화하는 것을 Wrapper Class라고 한다.
변환하는 방식을 Boxing, UnBoxing이라고 칭하며 Java 1.5 이상부턴 자동으로 변환해준다.
Boxing : Integer i1 = new Integer(100) => 기본형 -> 객체
UnBoxing : int i2 = i1.intValue(); => 객체 -> 기본형
래퍼클래스를 사용하는 이유
- 객체 또는 클래스로 제공하는 메소드 사용 가능 (다양한 메소드 활용 가능)
- primitive type과 다르게 null 처리 가능
- 제네릭와 같이 인자로 객체를 받는 경우 또는 객체형으로 저장해야 된 경우 사용 가능
- 객체간 비교가 필요한 경우 사용가능 (equals 가 오버라이딩되어 주소값이 아닌 객체값으로 비교함)
- 클래스가 제공하는 상수 사용 가능 (MIN_VALUE, MAX_VALUE)
- 형변환 또는 진법 변환 가능
주의할 점
- 불필요하기 heap 공간을 소요함
- 사용이 끝난 뒤 GC 오버헤드 발생
반응형
'IT > 자바' 카테고리의 다른 글
Chapter2 동작 파라미터화 코드 전달하기 (0) | 2020.08.30 |
---|---|
HashMap의 동작 (0) | 2020.07.23 |
가비지 컬렉션에 대한 정리 (0) | 2020.07.23 |
[ORACLE] JOIN _ ON 과 WHERE _ 오라클 조인 (0) | 2020.02.17 |
JAVA 프로세스 구동시 지연발생 (0) | 2019.12.12 |