자료형은 크게 기본 자료형과 참조 자료형으로 나눌 수 있다.

❗️기본 자료형: 실제 값을 가지는 자료형
❗️참조 자료형: 인스턴스의 주소값을 참조하는 자료형



저장하고 싶은 문자에 해당하는 아스키코드 정수를 저장한다

int 와 float 모두 4byte로 메모리의 크기는 동일한데, int보다 float의 표현 범위가 더 크다.
이 이유는 컴퓨터에서 실수를 표현할 때 대부분 '부동 소수점'방식을 사용하기 때문이다.
- float, 떠서 움직이는 소수점이라는 뜻이다.
- 모든 수를 1.xxxx으로 나타내는 방식이다.
- 가장 첫 비트는 음수 여부를 나타낸다.
- 지수부는 소수점이 몇 칸 움직일지 나타낸다.
- 127을 기준으로 더 크면 오른쪽으로 더 작으면 왼쪽으로 소수점을 움직인다.- 가수부는 1.xxxxx에서 xxx에 해당하는 2진수를 저장한다.
heap에 new로 생성되는 인스턴스들은 참조 자료형에 주소값이 저장된다.
인터페이스, 클래스, 배열, enum 타입이 있다.
String은 기본 자료형이 아닌 자바에서 구현된 'Class'이다.
Heap영역 내에 String을 관리하기 위한 공간인 String Constant Pool이 따로 마련되어있다.
이 영역은 String을 new연산자로 생성하지 않고 literal로 생성하면 사용할 수 있다.
같은 단어를 literal로 생성하게 되면 같은 메모리를 참조하여 비교연산에서 같다라는 결과를 낼 수 있다.
new연산자로 생성하게 된다면, 다른 인스턴스와 마찬가지로 Heap영역에 인스턴스를 새로 생성해 다른 '인스턴스'이므로 비교 연산에서 같다는 결과를 받을 수 없다.
지역변수는 초기화를 명시적으로 해줘야 하지만 나머지의 경우에서는 기본 자료형에 초기값이 존재한다.
초기화 값을 정하지 않고, 메모리 공간만 확보할 경우 다음과 같은 값이으로 초기화가 된다.
reference
https://www.tcpschool.com/java/java_datatype_basic
https://www.tcpschool.com/java/java_datatype_floatingPointNumber
https://brajjam.tistory.com/entry/자바-기본-데이터-타입-디폴트-값