반응형
1일 1개념정리 24.08.09.금 ~
큰 결정에 큰 동기가 따르지 않을 때도 있다. 하지만 큰 결심이 따라야 이뤄낼 수 있다.
무조건 무조건 1일 1개의 개념 정리하기 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#37. 참조타입, 기본타입
자바에서는 단순한 변수가 아니라, 참조변수와 기본변수(또는 일반변수 등의 이름으로)가 있다. 익히 들어봤을 텐데, 간~~단히 정리하면 이렇다.
- 참조변수 : 참조형 타입을 써서 변수에 실제 값이 아니라 객체의 메모리 주소가 저장됨
- 일반변수 : 기본형 타입을 써서 변수에 실제 값 자체가 저장됨.
이를 조금 더 자세히 알아봅시다. 일반변수, 기본변수, 기본타입 등 차이가 없는 것으로 보고 그냥 섞어서 글을 썼습니다.
일반 변수 (Primitive Variables) = 기본형 타입
먼저 일반 변수에 대해서 알아보자. 우리가 익히 쓰는 변수들이라고 생각하면 된다. 이는 데이터 값 자체를 저장한다.
ex) int, float, double, char, boolean, byte, short, long
참조 변수 (Reference Variables) = 참조 타입
참조 변수는 객체의 메모리 주소를 저장하는 변수이다. 즉, 참조 변수는 실제 데이터를 저장하는 것이 아니라 객체가 저장된 메모리 주소를 가리킨다. 객체는 힙(Heap) 메모리 영역에 저장되고, 참조 변수는 이 객체의 위치를 참조한다.
ex) String, Array, Class, List 등
int num = 5; // 값 5가 직접 저장됨
String str = "Hello"; // 문자열 "Hello"의 메모리 주소를 참조
변수를 이처럼 분류해서 쓰는 이유
왜 변수를 이렇게 나눠서 쓰는지는 각각의 장점에 대해 알면 이해가 될 것이다 !!!
기본형 타입 | 참조 변수 | |
메모리 효율성 | 고정된 크기를 가지므로 메모리 사용이 간단하고 예측 가능하다. | 객체의 크기에 따라 메모리 사용량이 달라지고, 여러 변수가 같은 객체를 참조할 수 있어 메모리 절약이 가능하다. |
성능 | 값 자체를 다루므로 연산 속도가 빠르다. | 객체에 접근해야하므로 기본형보단 조금 오래걸릴 순 있는데, 객체지향 |
안전성 | null이 없으므로 NullPointerException 같은 문제를 피할 수 있다. | 객체를 null로 설정할 수 있지만, 이로 인해 데이터의 존재 여부를 체크하는 안전장치를 구현할 수 있다. |
그니까 때에 따라서 적절히 사용하면 된다. 숫자나 문자처럼 fix된 값이 들어가야하면 기본 타입을 쓰면 될 것이고, 객체를 사용해야 하거나 복잡한 데이터 구조가 필요하다면 참조 변수를 사용하면 될 것이다.
반응형
'1일 1개념정리 (24년 8월~) > Java' 카테고리의 다른 글
1일1개 (38) - Java 메모리 구조 (0) | 2024.09.20 |
---|---|
1일1개 (25) - 생성자 (0) | 2024.09.04 |
1일1개 (21) - 불변객체란 ? (0) | 2024.08.30 |
1일1개 (20) - ==와 equals()의 차이 (0) | 2024.08.29 |
1일1개 (19) - static (0) | 2024.08.28 |