EEALL@ONCE
☕ 자바 자료형 - 원시 자료형 primitive type vs 참조 자료형 reference type 본문
728x90
원시 자료형 primitive type vs 참조 자료형 reference type
🐭:
이 두 가지 유형은 메모리에 데이터를 저장하고 처리하는 방법이 다릅니다.
원시 자료형:
- 기본 유형은 프로그래밍 언어에 내장된 기본 데이터 유형입니다.
- 단순한 값을 나타내며 객체가 아닙니다.
- 크기가 고정되어 있고 변수가 선언된 메모리에 직접 저장됩니다.
- Java의 기본 유형의 예는 int, double, char, boolean 등입니다.
- 기본형으로 변수를 선언하면 변수에 실제 값이 저장됩니다.
참조 유형:
- 참조 유형은 실제 데이터가 아닌 개체의 메모리 주소(참조)를 저장합니다.
- 복잡한 데이터 구조와 객체를 저장하는 데 사용됩니다.
- 참조 유형에는 클래스, 인터페이스, 배열 및 기타 사용자 정의 유형이 포함됩니다.
- 참조 유형으로 변수를 선언하면 변수는 메모리의 실제 데이터 위치를 가리키는 메모리 주소를 보유합니다.
그럼 참조 유형의 데이터는 실제로 어디에 저장되는거야????
참조 유형의 데이터는 주로 heap 메모리에 저장됩니다.
1. 객체 (Object) 참조:
- 객체는 클래스를 기반으로 생성된 인스턴스입니다. 객체는 참조 유형의 데이터로 간주됩니다.
- 객체를 생성할 때, 해당 객체가 저장될 heap 메모리 영역이 할당되고, 객체의 속성과 상태는 해당 heap 영역에 저장됩니다.
- 변수를 선언하여 객체를 참조하면, 해당 변수는 heap 메모리 내에 실제 데이터가 저장된 위치를 가리키는 메모리 주소를 담게 됩니다.
// String 객체를 생성하고, str 변수가 해당 객체를 참조합니다.
String str = "Hello"; // "str" 변수에는 문자열 "Hello"가 저장된 위치를 가리키는 메모리 주소가 저장됩니다.
2. 배열 (Array) 참조:
- 배열은 여러 요소들의 모음이며, 참조 유형의 데이터입니다.
- 배열도 객체와 마찬가지로 heap 메모리에 저장됩니다. 배열의 각 요소들은 해당 heap 메모리 영역에 저장됩니다.
- 배열 변수는 배열의 시작 주소(첫 번째 요소의 주소)를 가리키는 메모리 주소를 담습니다.
// int형 배열을 생성하고, numbers 변수가 해당 배열을 참조합니다.
int[] numbers = {1, 2, 3}; // "numbers" 변수에는 배열의 시작 주소(첫 번째 요소의 주소)가 저장됩니다.
따라서 참조 유형의 데이터는 실제 데이터가 저장된 위치를 가리키는 메모리 주소를 변수에 저장합니다. 이렇게 메모리 주소를 사용하여 실제 데이터에 접근하고 조작할 수 있습니다. 이러한 접근 방식은 자바의 메모리 관리와 객체 지향 프로그래밍에서 중요한 역할을 합니다.
728x90
'언어💻 > 자바☕' 카테고리의 다른 글
☕ `FileInputStream`, `InputStreamReader`, `BufferedReader` (0) | 2023.08.07 |
---|---|
☕ 자바 자료형 - var 연산자 (0) | 2023.08.04 |
☕ 자바 자료형 - 배열은 개수의 변경이 불가능함 (0) | 2023.08.03 |
☕ 자바 자료형 - null은 왜 원시 자료형엔 안들어가질까? (0) | 2023.08.02 |
☕ 자바 자료형 - null (0) | 2023.08.02 |