- stack에 값이 그대로 저장
- 빠르게 값에 접근 가능
- stack에 값이 그대로 저장되어 있지 않다.
- stack에는 heap의 어딘가를 가리키는 주소가 저장
- stack을 갔다가 heap을 가서 값을 찾아와야하므로 데이터 접근 속도가 느리다.
참조 타입은 보통 원시 타입에 비해 기능을 더 많이 제공(메모리를 더 많이 잡아먹는다)
원시 타입은 제네릭 타입을 사용할 수 없지만 참조 타입은 가능하다.
- 자료형(primitive type)
- 산술 연산 가능함
- null로 초기화 불가
- 래퍼클래스(Wrapper class) : 기본형을 객체로 다루기 위해 사용하는 클래스
- Unboxing 하지 않을 시 산술 연산 불가능
- null값 처리 가능
boxing : primitive type -> wrapper class 변환 (int to Integer)
unboxing: wrapper class -> primitive type 변환 ( Integer to int)
Java는 기본적으로 오토박싱을 해준다.
