Primitive type과 Reference type의 차이

허세진·2026년 1월 19일

backend

목록 보기
2/20
post-thumbnail

Primitive type

Primitive type은 값 자체를 저장하는 타입이다.

Primitive type은 아래 표와 같다.
Primitive type 특징

  • 스택에 저장된다.
  • null 값을 가질 수 없다.

Reference type

Reference type은 객체가 저장된 메모리 주소(참조값)를 저장하는 타입이다.

Reference type은 class, interface, array, enum, String 등이 있다.

Reference type 특징

  • 참조 변수는 스택에 저장되고, 객체는 힙에 저장된다.
  • null 값을 가질 수 있다.

Primitive type과 Reference type의 차이

1. 메모리 할당 및 저장 위치

Primitive type은 스택에 저장하니까 메모리 할당과 해제가 빠르고 메서드가 종료되면 자동으로 메모리를 해제한다.

Reference type은 스택에 참조값, 힙에 실제 객체를 저장한다. GC가 사용하지 않는 객체를 정리하고 메모리 관리에 오버헤드가 존재한다.

2. Null

Primitive type은 null값을 가질 수 없다.

Reference type은 null값을 가질 수 있다.

3. 메모리의 양

원시 타입보다 참조 타입이 사용하는 메모리양이 압도적으로 높다.

참고 자료

https://velog.io/@gillog/%EC%9B%90%EC%8B%9C%ED%83%80%EC%9E%85-%EC%B0%B8%EC%A1%B0%ED%83%80%EC%9E%85Primitive-Type-Reference-Type#%EC%9B%90%EC%8B%9C-%ED%83%80%EC%9E%85%EA%B3%BC-%EC%B0%B8%EC%A1%B0-%ED%83%80%EC%9E%85-%EC%B0%A8%EC%9D%B4

profile
로그를 파고드는 시간을 즐기는 백엔드 개발자, 허세진입니다.

0개의 댓글