[java] 원시타입(Primitive Type)과 참조타입(Reference Type)

유사개발자·2022년 4월 13일
0

Java

목록 보기
1/2
post-thumbnail

자바 데이터 타입은 원시타입참조타입 으로 나눌 수 있습니다

🌝원시타입 (Primitive type)

원시타입이란 int, float, char, boolean등의 데이터 타입을 뜻하고
실제 데이터 값을 저장하는 타입입니다.

🌚참조타입 (Reference type)

참조타입이란 String, List, enum, class, interface과 같이
원시타입을 제외한 타입을 뜻하며 객체의 주소를 저장하는 타입입니다.


Stack영역

Stack 영역에 원시타입의 경우 원시타입 변수에 실제 값들이 저장되지만
참조타입의 경우 참조타입 변수에 힙 영역에 생성된 객체들의 주소 값을 저장하고 있습니다.

원시타입 ex) char cc = 'c' 실제 값을 저장
참조타입 ex) String name = 10101번지 주소 값을 저장

Heap영역

Heap 영역에 객체와 배열이 생성되며 참조타입들이 해당 객체들의 주소 값스택영역에 저장합니다.
Stack영역에서 가지고 있는 주소값의 실체가 저장되는 곳 입니다.

ex) 10101번지 : "유사개발자"

프로그램 실행시 메모리에 동적 할당되며 참조하는 변수가 없다면
그 유명한 가바지 컬렉터가 제거하게 됩니다.

원시타입과 참조타입의 차이점은?

원시타입은 null을 담을 수 없지만 참조타입은 가능하며
원시타입은 제네릭 타입을 사용할 수 없지만 참조 타입은 가능합니다.

profile
개발자와 유사한 개발자입니다

0개의 댓글