모든 변수는 메모리 영역에 할당되고 변수의 크기는 자료형으로 결정된다.
변수를 사용하려면 먼저 자료형으로 메모리의 크기와 형태를 결정한 다음 선언해야 한다.
자료형 변수명;
자료형을 선언하면 실행 중 사용하는 메모리의 최대 크기와 유효한 값의 범위가 설정된다. 또한, 처음에 선언한 자료형에 맞는 데이터가 메모리에 저장되는지를 검사하는 유효성 검사도 한다. 만약 설정한 자료형의 메모리 이상의 값이 들어오거나 다른 종류의 자료형의 값이 들어오면 오류를 만든다.
값을 다루는 자료형
메모리의 값 영역에 값을 직접 저장하고 참조하는 자료형
기본형이 참조형보다 값을 다루는 속도가 빠르다.
null을 가질 수 없다.
초기화할 때 new를 사용하지 않는다.
스택(stack)에 저장한다.
정수형 : byte(1byte), short(2byte), int(4byte), long(8byte)
실수형 : float(4byte), double(8byte)
문자형 : char(2byte)
논리형 : boolean(1byte) - 기본값은 false
🔸 정수형 중에는 int가 가장 효율적이라고 여겨지는데, 그 이유는 CPU가 32비트 정수 연산을 하고 있는데 int가 32비트를 사용하므로 딱 맞아 떨어진다.
🔸 char은 기본 자료형으로 하나의 문자를 나타낼 수 있다. string은 참조 자료형으로 두 개 이상의 문자를 나타낼 수 있다.
주소를 다루는 자료형
메모리의 값 영역에 주소를 저장하고 다른 메모리 영역을 참조하도록 하는 자료형
null을 가질 수 있다.
초기화할 때 new를 사용한다.
힙(heap)에 저장한다.
참조 자료형은 원본 데이터의 주소(참조값)만 가지고 있기에 모든 참조 자료형의 크기는 같다(JVM에서는 8 byte를 할당한다).