본문 바로가기

java(자바)

[java(자바)] 자바의 데이터 타입-기본형(Primitive Type) vs 참조형(Reference Type) _디버깅의 눈물

기본형(Primitive Type)

-메모리에 데이터를 저장할 때 해당 값을 직접 저장하는 타입입니다.

-값 자체를 저장하기 때문에 메모리 사용이 적고 연산이 빠릅니다.

-비객체 타입이기 때문에 null을 가질 수 없습니다. 만약 null 값을 넣고 싶다면, *Wrapper Class를 활용해야 합니다.

-스택(stack) 메모리에 저장됩니다.

-1)정수 타입(byte, short, int, long), 2)실수 타입(float, double), 3)문자 타입(char), 4)논리 타입(boolean) 총 8개가 존재합니다.

-기본형 데이터 타입 이외의 모든 데이터 타입은 참조타입입니다.

 

 

참조형(Reference Type)

-객체를 참조하는 레퍼런스(reference)를 저장하는 데이터 타입입니다.

-객체를 참조하기 때문에 메모리 사용이 많고 연산이 느립니다.

-객체 자체를 참조하기 때문에, 객체의 상태를 변경할 수 있습니다.

-new 연산자를 통해 생성된 객체는 힙(heap) 메모리에 저장됩니다. 

-힙 메모리에 저장된 객체를 가리키는 참조 변수는 스택 메모리에 생성됩니다.

-참조형 변수가 객체를 참조하지 않을 때는 null 값을 가지게 됩니다.

-대표적으로 String, Class, interface, Array, Null 등이 있습니다.