'
본문 바로가기
study/Programming

[JAVA 기초] 참조형 변수란?

by meowdule 2025. 4. 7.

 

1. 참조형의 의미


📌 참조형 변수

값이 저장된 메모리 주소를 저장하는 변수입니다.

 

우리가 변수에 값을 저장한다고 할 때,

기본형은 그 값을 직접 저장하지만,
참조형은 값을 직접 저장하지 않고, 값이 저장된 위치(주소)를 저장합니다.

 

 

예를 들어:

int a = 10;             // 기본형: 숫자 10 자체를 저장
String name = "Java";   // 참조형: "Java"라는 문자열이 저장된 주소를 저장
 

 

즉,

기본형 → 값 자체
참조형 → 값이 저장된 위치(주소)

 

 

 

 

 

 

2. 기본형 vs 참조형 비교

 

구분 기본형 (Primitive Type) 참조형 (Reference Type)
저장 내용 값 자체 값이 저장된 주소
데이터 크기 고정 (1~8바이트) 가변
예시 int, double, boolean String, Array, Scanner, List
메모리 저장 위치 스택(Stack) 영역 스택에 주소, 힙(Heap)에 실제 값
메서드 사용 불가능 객체 메서드 사용 가능

 

 

 

 

 

 

3. 참조형의 사용 이유


기본형은 정해진 크기의 단순한 데이터만 다룰 수 있습니다.


하지만 실제로는 문자열, 배열, 객체처럼 복잡하고 다양한 데이터를 다뤄야 할 경우가 많죠.

이럴 때 필요한 것이 바로 참조형 변수입니다. 참조형을 통해:

  • 크기가 크거나 구조적인 데이터도 쉽게 저장하고
  • 여러 개의 변수나 메서드가 동일한 데이터를 함께 참조할 수 있습니다.

 

 

 

 

 

 

4. 메모리 구조 차이


Java에서 변수의 메모리 저장 방식은 다음과 같이 나뉩니다.

  • 기본형 변수 스택(Stack) 메모리에 직접 값이 저장됩니다.
  • 참조형 변수는 스택에는 주소만 저장되고, 실제 데이터는 힙(Heap) 영역에 저장됩니다.
// 예시
String name = "Java";

[Stack]   name → [주소값]
[Heap]    주소값 → "Java"

 

이 구조 덕분에 여러 변수가 같은 객체를 참조하거나, 크기가 큰 데이터도 효율적으로 관리할 수 있습니다.

 

 

 

 

 

 

 

 

 

5. 참조형 변수의 특징


📌 null 값

  • 참조형 변수는 기본형과 달리 null 값을 가질 수 있습니다.
  • null은 아무 값도 참조하지 않는 상태, 즉 "참조 대상이 없음"을 뜻합니다.
String text = null;  // 어떤 문자열도 참조하고 있지 않음
  • 이 상태에서 text.length()처럼 메서드를 호출하려 하면 NullPointerException이 발생합니다.
  • 그래서 참조형을 사용할 때는 null 체크가 매우 중요합니다.

 


📌 객체와의 관계

  • 참조형 변수는 대부분 클래스를 기반으로 만들어진 객체를 저장합니다.
  • String, Scanner, ArrayList, HashMap 등은 모두 참조형 변수로 선언하며,
    내부적으로 다양한 기능(메서드)을 가지고 있죠.
  • 즉, 참조형 변수는 Java의 객체 지향 프로그래밍(OOP)의 핵심을 이루는 요소입니다.

 

 

 

 

 

 

마무리
다음 게시글에서는 변수의 명명규칙에 대해서 학습하겠습니다.

 

 

'study > Programming' 카테고리의 다른 글

[JAVA 기초] 형 변환 (Casting)  (1) 2025.04.09
[JAVA 기초] 변수의 명명 규칙  (1) 2025.04.08
[JAVA 기초] 기본 자료형  (0) 2025.04.06
[JAVA 기초] Java 자료형의 개요  (0) 2025.04.05
[JAVA 기초] 변수란 무엇인가?  (0) 2025.04.04