2.3.1 기본 자료형과 참조 자료형의 차이

jh·2022년 1월 4일
0
post-custom-banner

자료형의 이름 규칙

기본 자료형과 참조 자료형의 첫 번째 차이점은 자료형 자체의 이름 규칙에 있다. 자바에서 제공하는 기본 자료형 8개의 이름은 모두 소문자(int long float double ...)로 시작하는 반면, 참조 자료형의 이름은 모두 대문자 (String, System, ...)으로 시작한다.

물론 권장 사항이므로 직접 생성하는 참조 자료형 이름이 소문자로 시작해도 오류는 발생하지 않는다. 하지만 앞서 말했듯이 권장 사항은 개발자 사이의 무언의 약속이므로 웬만하면 지켜야 한다.

실제 데이터 값의 저장 위치

기본 자료형과 참조 자료형의 두 번째 차이점은 실제 데이터값의 저장 위치가 다르다는 것이다. 기본 자료형과 참조 잘형 모두 변수의 공간이 스택 메모리에 생성되지만 그 공간에 저장되는 값의 의미가 서로 다르다.

기본 자료형은 스택 메모리에 생성된 공간에 실제 변숫값을 저장하는 반면
참조 자료형은 실제 데이터 값은 힙 메모리에 저장하고, 스택 메모리의 변수 공간에는 실제 변숫값이 저장된 힙 메모리의 위칫값을 저장한다.

int a = 3;
String b = "안녕"

기본 자료형에 속하는 변수 a는 공간이 스택 메모리에 만들어지고 이 공간 안에 실제 데이터 값 3이 저장된다.

반면 참조 자료형 변수 b에서 실제 데이터 값 "안녕" 은 힙 메모리에 저장하고 스택 메모리에 있는 b의 공간에는 힙 메모리에 있는 실제 데이터 값의 위치가 저장된다.

자바는 힙 메모리에 직접 접근할 수 없으므로 반드시 위칫값을 저장하고 있는 참조 변수가 필요하다.

profile
코딩 공부 중...
post-custom-banner

0개의 댓글