int
- Primitive 자료형(long, float, Double) (원시 자료형)
- 산술 연산이 가능하며, null값을 가질 수 없다.
Integer
- Wrapper 클래스 (객체)
- Unboxing을 하지 않으면 산술 연산이 불가능하지만, null값을 가질 수 있다.
- Collection, null 값이 필요한 경우 사용한다.
int와 Integer는 서로 간 변환이 가능하다.
Boxing : Primitive -> Wrapper클래스
Unboxing : Wrapper클래스 -> Primitive
valueOf() & parseInt()
Integer.valueOf() : Integer클래를 리턴하기에 산술 연산 불가
Integer.parseInt() : int형 리턴으로 산술 연산 가능
Integer & int size 비교
- Integer 및 int 배열 1,000,000개 생성한다.
- 결과
- Integer : 19986824 byte
- int : 3998536byte
- Integer가 int보다 4.99배 크다.
Object : 8byte
Integer : 16bytte
Integer 참조시 4byte
Integer size = 20byte
int size : 4 byte
Integer = int * 5