Dev./java
[Java] Primitive type, Reference type
인쥭
2021. 2. 4. 10:31
반응형
1. Primitive type
- Stack 영역에 저장되며, '실제값'이 저장된다.
- 타입별 기본값이 있으므로 null은 존재하지 않는다.
- Primitive type 종류 :
- boolean, byte, short, int, long, float, double, char
2. Reference type
- Primitive 타입을 제외한 모든 유형
- Heap 영역에 저장되며, 값이 저장되어 있는 '주소값'을 저장한다.
- 문법상으로는 에러가 없어도 런타임시 NullPointerException 등의 에러가 발생할 수 있다.
참고 : Wrapper Class?
- 클래스이므로 Reference type이다. 즉, null이 존재한다.
- Primitive type으로 표현할 수 있는 간단한 데이터를 객체로 만들어야할 경우에 사용할 수 있다.
- Wrapper Class :
- Boolean, Byte, Short, Integer, Long, Float, Double, Character
- 래퍼 클래스를 사용하는 경우는 Generic을 예로들 수 있다. <> 는 래퍼 클래스만을 허용한다.
- 또는 클래스이므로 .toString() 등의 메소드를 활용할 수 있다.
- Heap 영역에 저장되는 객체이므로 GC의 대상이 된다. (참고 : yaboong.github.io/java/2018/06/09/java-garbage-collection/)