📘 참조 타입이란?


자바에서 데이터를 다루다 보면 int, char 같은 기본 타입 외에도 다양한 **"참조 타입(Reference Type)"**을 만나게 됩니다. 이 개념은 자바에서 객체를 다루는 데 있어서 아주 중요합니다.


1️⃣ 참조 타입이란 무엇인가요?

참조 타입은 객체나 배열의 실제 데이터를 직접 저장하지 않고, 그 데이터가 위치한 메모리 주소를 저장하는 변수 타입입니다.

📦 비유하자면,

참조 타입 변수는 “택배 송장 번호” 같다고 생각하시면 됩니다.

송장을 통해 물건이 어디 있는지 알 수 있듯이, 참조 변수는 객체가 어디에 있는지 알려줍니다.


2️⃣ 참조 타입의 종류는 어떤 것이 있나요?

자바에는 다양한 참조 타입이 존재하며, 주요 타입은 아래와 같습니다:

참조 타입 종류 설명
🔹 클래스 타입 객체 생성의 설계도이며, 예: String, ArrayList, 사용자 정의 클래스 Person
🔹 배열 타입 같은 타입의 데이터를 여러 개 저장하는 참조 타입, 예: int[], String[]
🔹 열거 타입 (Enum) 제한된 상수 집합을 정의할 때 사용
🔹 인터페이스 타입 구현 클래스의 참조를 위한 타입
🔹 문자열 타입 (String) 자바에서 특별하게 다루는 참조 타입

3️⃣ 메모리에서 참조 타입은 어떻게 동작하나요?

자바에서 객체는 힙 메모리에 저장되며, 참조 변수는 그 객체의 주소를 스택 메모리에 저장합니다.

String name = new String("Jisun");

위 코드에서 "Jisun" 객체는 힙에 저장되고, name 변수는 이 객체의 주소를 스택에 저장합니다.