java에는 두가지 타입이 있습니다. 원시형, 기본형이라고도 하는 Primitive Type과 참조형인 Reference Type이 있습니다.
이 두가지 타입의 대해서 알아봅시다.
Reference Type이라고 합니다.Reference Type이라고 할 수 있습니다.int a = null; //불가능
Integer b = null; // 가능
List<int> a; //불가능
List<Integer> b; // 가능
Reference Type은 값을 필요로 할 때마다 Unboxing 과정을 거쳐야 하니, primitive type 과 비교해서 접근 속도가 느려지게 됩니다.| 기본형 | 참조형 |
|---|---|
| boolean - 1bit | Bool - 128 bits |
| byte - 8bits | Byte - 128 bits |
| short,char -16bits | Short,Char - 128bits |
| int, float - 32bits | Integer,Float - 128bits |
| long, double - 64bits | Long,Doble - 192bits |
기본형은 참조형에 비교하여 훨씬 빠르고 훨씬 적은 메모리를 필요로 합니다.
| 기본형 | 참조형 | |
|---|---|---|
| 저장위치 | stack영역에 값 자체 저장 | stack영역에는 참조값, Heap영역에 실제 값을 저장 |
| Null저장 | 불가능 | 가능 |
| Generic사용 | 불가능 | 가능 |
| 접근 속도 | 대체로 빠름 | 대체로 느림 |