[Java] 4.변수의 자료형(Data Type)
자바의 자료형
자바의 자료형(Data Type)
자바의 자료형은 크게
기본형
과참조형
변수로 나눠진다. 자료형에 따라서 다른 크기를 가지는데 간단하게 1byte = 8bit 라고 생각하면 된다.
0. bit, byte 개념
자바의 자료형에대해 알아보기 전에 비트와 바이트에 대한 설명을 빼고 갈 수가 없다.
좀 복잡하다고 생각 할 수 있지만 한 번 알아보자.
먼저 bit(비트)에 대해 설명하자면 간단하게 스위치라고 표현할 수 있겠다. 1비트는 0이나 1 둘중 하나를 표현할 수 있고 이를통해 21만큼의 수를 표현할 수 있는것이다.
이러한 bit 가 8개 모이면 1byte가 되고 따라서 1byte = 8bit 라고 생각하면 된다.
이것을 자바에 적용해보자면,
예를들어, 4byte의 int 자료형 같은경우는 32개의 비트를 가지고 자료를 표현하니까 원래대로라면, 0부터 232 의 수를 표현할것이다. 하지만 자바는 이 자료형으로 음수까지를 표현해야 하기 때문에
맨앞의 비트를 부호비트로 0이면 양수 1이면 음수 라는 표시를 주고, 나머지 비트로 수를 표현하게된다.
따라서 결론적으로, int자료형은 32개의 비트중 1개를 부호비트로 사용하니, 나머지 31개의 비트로 수를 표현하게 되는것이다. 음수부터 양수까지 표현이 되기 때문에 -231 ~ +231-1 까지 범위의 수를 표현 할 수 있게 되는것이다.
여기서 -1이 나오는 이유는 단위수를 작게 3비트 정수
자료형이 있다고 한다면,
- 3비트이므로 , 23=8 8개를 표현할 수 있을 것이다.
- 3개의 비트중 맨 앞부호를 제외하고 2개의 비트로 수를 표현한다. 따라서 음양수 각 4개의 수를 표현할 수 있다.
- -22 (-4)~ +22 (4) 까지라고 생각하기 쉽지만, 세보면 -4 ~ -1 은 4개가 맞지만 0~4는 5개이다..
- 양수범위는 0을 포함해서 표현되기 때문에 , 0 1 2 3 까지 가능하게 되는것이다.
- 따라서 3비트
정수
자료형의 표현범위는 -22 (-4)~ +22-1 (3) 이 되는것이다.
아래의 정수 자료형의 표현범위는 위의 설명과 같다.
1. 기본형
정수형
이름 | 크기 | 설명 |
---|---|---|
byte | 1byte | 2진수표현, (-128~127) |
char | 2byte | 문자하나를 표현(숫자도 가능) |
short | 2byte | 보다 작은 단위의 정수표현시 사용 |
int | 4byte | 일반적으로 가장 많이 사용하는 정수 자료형 |
long | 8byte | 아주 큰 단위의 정수를 표현할 때 사용 |
이중 long 형의 경우에는 Java 에서 사용시에 long a =10000L “L” 을 붙여 long 형임을 표시해야한다.
실수형
소수점 단위의 수 까지 표현하기위해 사용
이름 | 크기 | 설명 |
---|---|---|
float | 4byte | 사용하기 위해서는 long처럼 F나 f 를 붙여야함 |
double | 8byte | 자바의 기본 실수 자료형 |
논리형
참 거짓을 나타내기 위해 사용하는 자료형
이름 | 크기 | 설명 |
---|---|---|
boolean | 1byte | 0은 거짓 1은 참 |
참조형
위의 기본형 자료형 이외에는 모두 참조형이라고 생각하면된다. 그중에서도 String은 참조형이면서 기본형처럼 사용하는것이 가능한데, 이는 자바에서 문자를 처리하는 자료형 (char) 은 있지만 문자열
을 처리하는 변수가 없어 String 을 만들었는데 이 자료형이 쓰이는 곳이 너무 많아 특별한 권한을 줬다고 생각하면 된다.
참조형 변수에는 클래스 , 배열등이 해당되며 클래스 및 배열에 관한 내용은 추후에 따로 정리해서 올릴 예정이다.
다음에는 연산자에 대해서 정리해 보도록 하겠다 그럼, 안녕!