[데이터 타입]
{Java - 데이터타입 (1/2) : 데이터의 크기}
데이터 크기
bit(가장 작은 단위):0과1
byte:8개의 bit
1KB:1024개의 byte
MB
GB
TB
PB petabyte 페타바이트
EB exabyte 엑사바이트
ZB zettabyte 제타바이트
{Java - 데이터타입 (2/2) : 데이터타입 비교}
데이터 타입
숫자 - 정수 - byte 메모리의 크기 1byte (메모리를 가장 절약할 수 있음.) -128 ~ 127
- short 2byte -32,768 ~ 32,767
- int(주) 4byte 가장 처리속도도 빠름. 충분히 큰 수 표현 가능 -2,147,483,648~2,147,483,647
- long 8byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
- 실수 - float
- double(주) 더 큰 숫자를 표현할 수 있다.(더 많은 정보를 표현할 수 있고, 더 많은 정보를 수용할 수 있음.)
변수의 데이터 타입에 따라 소모되는 메모리 용량이 달라짐.
예를 들어
long a = 2148934;
long b = 1;
은 소모되는 메모리가 같음. (변수가 가리키는 데이터의 용량과는 상관없음.)
long을 쓰면 메모리에서 8byte의 용량을 예약하고, 그만큼의 공간을 확보해 놓는 것.
- 마치, 호텔의 룸 8개를 예약해 놓는 것과 같음. 방을 비워놔도 쓰는 건 쓰는 거임.
따라서
int a = 21345;
long b = 21345;
는 같은 데이터를 갖고 있지만,(같은 숫자를 가리키고 있지만,) 사용되는 메모리는 다르다.
일반적으로 정수를 사용할 땐 int를 사용하면 됨. 왜냐하면 int형을 사용할 때 처리속도가 가장 빠르고, 충분히 큰 수를 표현할 수 있기 때문이다.
정밀도 대신에 큰 범위의 수를 표현하는 것을 선택한 형식이 실수형이다.
주의해야할 것, 돈과 같이 아주 정확한 계산이 필요한 경우에는 실수형을 쓰면 안되고 다른 수단을 강구해야 한다.
문자 - char 2byte 모든 유니코드 문자
'A' 2byte 메모리 사용
"AB" 문자열 4byte 메모리 사용
각각의 데이터 타입에 따라서 메모리를 사용하는, 메모리를 소비하는 크기가 다르기 때문에 이렇게 데이터 타입을 구분하고 있다.
*String 클래스의 문자열 길이의 한계 : http://javacan.tistory.com/43
'Java' 카테고리의 다른 글
Java - 형변환 (0) | 2015.10.10 |
---|---|
Java - 상수의 데이터 타입 (0) | 2015.10.10 |
Java - 주석과 세미콜론 (0) | 2015.10.10 |
Java - 변수 (0) | 2015.10.10 |
Java - 숫자와 문자 (0) | 2015.10.10 |