1. 프리미티브 타입 (Primitive Type)
특징
• 자바에서 가장 기본적인 데이터 유형
• 값을 직접 메모리에 저장
• 스택(Stack) 메모리에 할당되어 빠르게 접근 가능
• 객체가 아니므로 null을 가질 수 없음 (기본적으로 값이 설정됨)
• 래퍼 클래스(Integer, Double 등)를 통해 객체화 가능
종류
byte, short, int, long, float, double, char, boolean
예제
int a = 10;
double b = 3.14;
boolean c = true;
• a는 스택에 10을 직접 저장
• b는 스택에 3.14를 직접 저장
• c는 스택에 true를 직접 저장
2. 레퍼런스 타입 (Reference Type)
특징
• 객체(Object)나 배열(Array)와 같이 주소값을 저장하는 타입
• 실제 데이터는 힙(Heap) 메모리에 저장되며, 스택에는 객체의 **주소(reference)**가 저장됨
• null 값을 가질 수 있음 (초기화하지 않으면 null)
종류
• 클래스(String, Integer, ArrayList 등)
• 배열(int[], double[] 등)
• 인터페이스
• 열거형(enum)
예제
String str = "Hello";
int[] numbers = {1, 2, 3};
Integer num = 100;
• str은 "Hello"라는 문자열을 힙에 저장하고, 스택에는 해당 문자열의 참조값(주소)을 저장
• numbers 배열은 힙에 배열을 저장하고, 스택에는 배열의 참조값을 저장
• num은 Integer 객체로 힙에 100을 저장하고, 스택에는 참조값을 저장
3. 프리미티브 타입 vs 레퍼런스 타입의 차이점
'코딩테스트(JAVA)' 카테고리의 다른 글
[코딩테스트] 배열과 리스트 변환 (0) | 2025.01.30 |
---|---|
[코딩테스트] 자바의 주요 컬렉션과 문자열 클래스 정리 (0) | 2025.01.30 |
[코딩테스트] 순열, 조합, 중복순열, 중복조합 (1) | 2025.01.08 |
[JAVA] 인접행렬, 인접리스트, DFS (1) | 2024.11.17 |
[JAVA] 객체의 정렬 (1) | 2024.11.08 |