Java - 데이터 타입

Java 2015. 10. 10. 23:55

[데이터 타입]

{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
Posted by 캬웃
,