변수(Variable) - 하나의 값을 저장할 수 있는 메모리 공간. 기본형, 참조형 있다. 변수의 타입은 저장될 값의 타입에 의해 결정됨.
상수(constant) - 값을 한번만 저장할 수 있는 메모리 공간. final int WIDTH = 20;처럼 리터럴에 의미있는 이름을 붙여서 코드의 이해와 수정을 쉽게 만듬.
리터럴(literal) - 그 자체로 값을 의미하는 것
변수를 사용하기 전에 처음으로 값을 저장하는 것.
변수를 초기화 하는 이유 : 메모리는 여러 프로그램이 공유하는 자원이므로, 다른 프로그램에 의해 저장된 알수없는 값(쓰레기 값)이 남아있을 수 있기 때문.
임시 저장소로를 사용하면 된다. (ex tmp)
1byte - boolean, byte
2byte - char, short
4byte - int, float
8byte - long ,double
32bit(4byte)OS --> 4byte
64bit(8byte)OS --> 8byte
기본형 변수는 실제 data를 저장하는 반면, 참조형 변수는 객체의 주소를 저장한다.
기본형은 data의 종류에 따라 구분되므로 자료형(data type).
참조형은 객체의 주소만을 저장하므로 타입(type).
타입(type)이 자료형(data type)을 포함하는 넓은 의미의 용어이므로 굳이 구분 할 필요 없음.
1bit - 컴퓨터가 값을 저장할 수 있는 최소 단위.
1byte - 의미있는 데이터의 단위.
2^{n}
-2^{n-1} ~ 2^{n-1}-1
0 ~ 2^{n}-1
타입이 표현할 수 있는 값의 범위를 넘어서는 것.
최대값 + 1 --> 최소값
최소값 - 1 --> 최대값
변수 또는 상수의 타입을 다른 타입으로 변환하는 것
기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환.
값의 범위가 작은 타입에서 큰 타입으로의 형변환은 생략 가능.