[Java] 기본 타입과 참조 타입의 차이점

soheeoott·2021년 9월 12일
0

Java

목록 보기
12/12

기본 타입 vs. 참조 타입

자바의 데이터 타입에는 크게 기본 타입과 참조 타입이 있다.


기본 타입 (primitive type)

정수 타입, 실수 타입, 논리 타입
정수, 실수, 문자, 논리 리터럴을 저장하는 타입이다.
기본 타입은 변수에 실제 값(리터럴)을 저장한다.

int age = 24;

참조 타입 (reference type)

배열, 열거, 클래스, 인터페이스
객체(Object)의 번지를 참조하는 타입이다.
참조 타입은 변수에 객체의 번지(객체가 생성될 때 갖는 주소값)를 저장한다.
변수는 번지를 통해 객체를 참조한다.

String hobby = "공부";

차이점

[Java] 메모리 사용 영역 (Runtime Data Area)와 관련

모든 변수는 스택 영역에 저장된다.
단, 타입에 따라 데이터가 생성되고, 저장되는 위치는 다르다.


◾️ 기본 타입 변수
: 스택 영역에 변수가 생성되고, 변수에는 리터럴 값이 그대로 저장된다.


◾️ 참조 타입 변수
: 문자열 또는 배열을 저장하면 힙 영역(메모리 영역)에 객체를 생성한다.
: 변수(스택 영역)에는 힙 영역에 생성된 객체의 번지가 저장되며, 객체(힙 영역)안에는 문자열 또는 배열이 저장된다.
: 스택 영역에 저장된 변수는 번지를 참조하여 객체의 값을 꺼내올 수 있다.

자바에서의 문자열은 값이 아닌, String 객체이다.

혼공자 강의를 기반으로 작성하였습니다. 🙏
20강

profile
📚 글쓰는 습관 들이기 📚

0개의 댓글