1. 데이터 타입
1 bit: 가장 작은 데이터 단위
1 byte = 8 bit(비트)
1 kilobyte = 1024 byte(바이트)
1 megabyte = 1024 kilobyte(킬로바이트)
1 gigabyte = 1024 megabyte(메가바이트)
1 terabyte = 1024 gigabyte(기가바이트)
1 petabyte = 1024 terabyte(테라바이트)
1 exabyte = 1024 petabyte(페타바이트)
1 zettabyte = 1024 exabyte(엑사바이트)
2. 데이터 타입 비교
1) 정수형
데이터 타입 | 메모리의 크기 | 표현 가능 범위 |
byte | 1 byte | -128 ~ 127 |
short | 2 byte | -32,768 ~ 32,767 |
int | 4 byte | -2,147,483,648~2,147,483,647 |
long | 8 byte | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 |
일반적으로 int를 많이 사용하지만 메모리를 절약하기 위해 byte를 사용하는 경우도 존재한다.
byte district = 1; // 강원도
행정구역(경기도, 전라도, 강원도 ...)처럼 그 수가 사실상 정해져 있고, 늘어나도 100을 넘을 가능성이 없는 정보의 경우 byte로 표현하면 1byte의 크기만을 사용하게 된다. 하지만 아래와 같이 long을 사용한다면 8배나 많은 메모리를 사용하게 된다.
long district = 1;
byte population = 50000000; -> 에러 발생 -> int를 쓰는 것이 합리적임
즉 어떤 숫자를 저장하느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이 아니고 어떤 데이터 타입으로 변수를 선언했느냐에 따라서 사용하는 메모리의 크기가 달라지는 것이다. 결국, 변수에 들어올 수 있는 숫자의 최대 크기를 잘 판단해서 데이터 타입을 지정해야 귀한 메모리의 용량을 아낄 수 있다. 하지만 오늘날은 메모리의 용량이 늘어났고, 또 어떤 데이터형을 사용할 것이냐는 문제를 판단하기 위해서는 여러 가지가 고려되어야 한다. 결과적으로 말해서 정수를 저장할 때는 int를 사용하면 된다. int형을 처리할 때 CPU의 처리속도가 빠르고, int는 충분히 큰 수를 표현할 수 있는 데이터 타입이기 때문이다.
2) 실수형
float | 4 byte | ±3.4E-38~3.4E+38 |
double | 8 byte | ±1.7E-308~1.7E+308 |
실수형은 float와 double이 있지만 실수를 사용할 때는 double을 사용하도록 하자.
3) 문자
char | 2 byte | 모든 유니코드 문자 |
'Java' 카테고리의 다른 글
[C] 경찰 조서 작성 프로젝트 (0) | 2022.11.27 |
---|---|
[JAVA] 상수의 데이터 타입 (1) | 2022.11.06 |
[JAVA] 주석과 세미콜론 (0) | 2022.11.06 |
[JAVA]변수 (0) | 2022.11.06 |
[JAVA]숫자, 문자와 문자열, 이스케이프 (0) | 2022.11.06 |