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/)
 

자바 메모리 관리 - 가비지 컬렉션

개요 Java 가비지 컬렉션에 대해서 공부한 내용을 정리해본다. Java 에서 메모리 관리는 어떻게 이루어지는지 이해하고 있으면 좋다. 자바 메모리 관리 - 스택 & 힙 를 먼저 읽는 것을 추천한다. 모

yaboong.github.io