[Java] 04. Primitive/Reference Data Type, Wrapper Class
1. Primitive Type
: 변수 값을 Stack 메모리에 직접 저장
- boolean, char, int, short, byte, long, float, double
2. Reference Data Type
: 실제 값은 Heap 에 생성되며 이를 참조하는 메모리 변수 값을 Stack 메모리에 저장
- String
- Class
- 배열
3. Wrapper Class
: Primitive Data Type 을 객체화하여 사용할 수 있도록 해준다.

- Wrapper Class 를 사용하는 이유
: Primitive 보다 추가 기능이 있다. ( valueOf(), parseInt(), toString() 등 )
: java.util 패키지의 클래스는 객체만 처리하므로 변환이 필요하다.
: ArrayList / Vector 와 같은 Collection 프레임워크의 데이터 구조는 객체만 저장하고 Primitive 유형은 저장하지 않는다.
: 멀티스레딩에서 동기화를 하려면 객체가 필요하다.
- Primitive -> Wrapper 자동 변환되는 경우 ( Autoboxing )
: 해당 Wrapper Class 의 객체를 예상하는 메서드에 매개 변수로 전달되는 경우
: 해당 Wraper Class 의 변수에 할당되는 경우
- Wrapper -> Primitive 자동 변환되는 경우 ( Unboxing )
: 해당 Primitive 유형 값을 예상하는 메서드에 매개 변수로 전달되는 경우
: 해당 Primitive 유형의 변수에 할당되는 경우