자바 데이터 타입은 원시타입
과 참조타입
으로 나눌 수 있습니다
원시타입이란 int, float, char, boolean등의 데이터 타입을 뜻하고
실제 데이터 값
을 저장하는 타입입니다.
참조타입이란 String, List, enum, class, interface과 같이
원시타입을 제외한 타입을 뜻하며 객체의 주소
를 저장하는 타입입니다.
Stack 영역에 원시타입의 경우 원시타입 변수에 실제 값들이 저장되지만
참조타입의 경우 참조타입 변수에 힙 영역에 생성된 객체들의 주소 값을 저장하고 있습니다.
원시타입 ex) char cc = 'c' 실제 값을 저장
참조타입 ex) String name = 10101번지 주소 값을 저장
Heap 영역에 객체와 배열이 생성되며 참조타입
들이 해당 객체들의 주소 값
을 스택영역
에 저장합니다.
Stack영역에서 가지고 있는 주소값의 실체
가 저장되는 곳 입니다.
ex) 10101번지 : "유사개발자"
프로그램 실행시 메모리에 동적 할당되며 참조하는 변수가 없다면
그 유명한 가바지 컬렉터
가 제거하게 됩니다.
원시타입은 null을 담을 수 없지만 참조타입은 가능하며
원시타입은 제네릭 타입을 사용할 수 없지만 참조 타입은 가능합니다.