값의 타입 : 저장공간의 종류 (ex.. int)
값의 이름 : 저장공간 이름 (ex.. int number;)
선언과 동시에 저장 -> 초기화
int number = 10; 값을 담는과 동시에 저장
선언 이후에 값을 저장한다면 ? -> 덮어쓰기
number = 20; -> 20으로 변경됨
저장공간 종류 (변수 타입)
저장공간은 변수와 상수로 나뉨
변수 용도로 사용 빈도 높음. -> 저장 공간을 변수로 지칭
변수는 저장공간에 담을 수 있는 데이터 종류
byte : -128 ~ 127 범위의 숫자만 저장 가능합니다.
short (2byte) 는 -32,768~32,767 범위의 숫자만 저장 가능합니다.
int (4byte) 는 -21억~21억 범위의 숫자만 저장 가능합니다.
long (8byte) 은 9백경 정도의 매우 큰수를 저장 가능합니다.
래퍼 클래스는 기본형 변수를 클래스로 한번더 래핑 한다
박싱 -> 기본 타입에서 래퍼 클래스 변수로 변수를 감싸는 것을 박싱
언박싱 -> 래퍼 클래스 변수를 기본 타입 변수로 가져오는 것을 언박싱
// 박싱
// Integer 래퍼 클래스
num 에 21 의 값을 저장
int number = 21;
Integer num = new Integet(number);
// 언박싱
int n = num.intValue(); // 래퍼 클래스들은 inValue() 같은 언박싱 메서드들을 제공해줍니다.
참조형
변수의 종료중 참조형 변수
참조형 변수 = 주소형 변수
기본형 변수가 실제 값을 저장하는 저장공간, -> 참조형 변수는 주소값을 저장하는 주소형 변수
기본형 변수 - stack
참조형 변수 - Heap
stack 영역에는 따로 저장해둔 원본값의 Heap 영역주소 저장

stack vs Heap
stack 경우 정적으로 할당된 메모리 영역
Heap의 경우 동적으로 할당된 메모리 영역
변수 -> 바이트에 나눠 저장
비트 -> 0,1 형태의 2진수 데이터 -> 컴퓨터가 저장 할 수있는 최소 단위
정수형 -> 10진수 숫자, 2진수로 저장
4개의 비트로 16진수를 2진수로 저장
8개의 bit로 구성
1Byte 내에서 숫자 변수는 Bit 2진수를 10진수로 저장
1Byte 내에서 문자 변수의 경우에만 Bit 2진수를 16진수로 표현