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사용 | 불가능 | 가능 |
접근 속도 | 대체로 빠름 | 대체로 느림 |