객체를 사용하는 이유
우리가 프로그래밍 할 때 원시 변수를 많이 씁니다.
이 원시 변수란?
가장 기본적인 데이터 타입의 변수를 말합니다.
즉, 더 이상 나눌 수 없는 단순한 형태의 데이터를 저장하는 변수입니다.
예를 들어, int, float, char, boolean, string이 있습니다.
그런데 이런 원시 변수만 사용했을 때의 한계가 있습니다.
그 한계를 극복하기 위해 사용하는게 객체입니다.
객체를 사용하면 복잡한 데이터를 구조화하고, 관련된 기능(행위)를 함께 묶어 관리할 수 있게 됩니다.
이러한 객체를 활용하는 객체지행 프로그래밍(OOP)란,
우리가 현실에서 사용하는 개념을 프로그래밍에 반영하는 것이라고 생각하면 됩니다.
객체 선언, 생성 및 대입
- 레퍼런스 변수의 크기는 얼마일까?
알 수 없습니다.
레퍼런스의 내부적인 표현 방식은 공개되어 있지 않고, 프로그래머 입장에서 굳이 알 필요가 없습니다.
메모리 할당과 관련된 문제를 생각할 때도 중요한 것은 객체 레퍼런스의 개수가 아니라 객체의 개수, 객체의 크기입니다.
물론 실제론 32bit JVM = 4 byte, 64bit JVM = 8 byte 정도로 책정됩니다. - 모든 객체 레퍼런스의 크기가 객체의 실제 크기와는 상관없이 같을까요?
YES.
같은 JVM에서는 객체의 크기와는 상관없이 레퍼런스의 크기는 모두 같습니다.
다만, JVM에 따라서 레퍼런스의 크기가 다를 수 있습니다. - 레퍼런스 변수에 대해 C에서처럼 증가 연산 같은 것을 적용시킬 수 있을까요?
No, 자바는 C가 아닙니다.
객체와 가비지컬렉션
728x90
'공부 > Java' 카테고리의 다른 글
[JAVA] 상속 - 다형성, 캐스팅, instanceof (1) | 2025.05.23 |
---|---|
Garvage Collection이 뭔데? 어떻게 작동하는 건데? (1) | 2025.05.07 |
자바의 Boxing과 Unboxing: 오토박싱과 언박싱 제대로 이해하기 (0) | 2025.05.06 |