언어/Java
[JVM]자료형
불면증김씨
2022. 1. 24. 18:38
창고 1칸당 사과가 3.5개가 들어간다. 3개를 하면 낭비가 되고, 4개는 들어가지 않으니 2칸을 사용하여 딱 맞게 넣어야지
자바에서는 포장이 미리 설정되어 있다. 이것이 자료형이다.
256(영어 한문자)= 2의8승 = 8bit로 하자 == 1byte로 하자
(4byte) int n1=1000; - 0번지
(8byte) double 공간 부족
(2byte) char c1=‘가’; - 4번지
n1은 0번지에서부터 4칸
c1은 4번지에서부터 2칸
개발자는 번지수를 찾을 필요없이 변수로 값을 찾을 수 있다.
커스텀 자료형
MyVar은 클래스 자료형 = 개발자가 만든 커스텀 자료형
여러가지 데이터를 가지고 있는 클래스를 Beans라고 한다.
new Note(); // heap 공간에 Note 클래스가 가지고 있는 모든 데이터를 할당해!(대신 static은 제외)
int age = 25; //stack 공간
일반 변수(int)는 값을 가지고 있다.
(컴파일시 크기를 알 수 있다.)
레퍼런스 변수(Note)는 값이 아닌 주소를 가지고 있다.
(컴파일시 크기를 알 수 없기 때문에, 메모리공간 설계가 불가능하다. 그렇기 때문에 임의로 4byte에 공간을 가지고 그 안에는 값이 아닌 주소를 가지고 있다.)
값은 그 주소에 해당하는 heap메모리에 있다.
일반변수 => 값
레퍼런스 => 주소(포인터) => 값
레퍼런스 변수 - class자료형(bean)