자료형
자바에서 자료형은 데이터를 표현하고 정의한다. 따라서 자료형의 성질을 이해하지 못한다면 변수나 상수를 적절하게 사용할 수 없다.
자바에서 자료형은 기본형과 참조형으로 나뉘는데 기본형은 다시 문자형, 정수형, 부동소수점형(실수형)으로 나뉘고, 참조형은 기본형을 제외한 클래스, 배열, 열거형 등이 모두 속한다. 참조 자료형 역시 기본 자료형을 기반으로 만들어지기에 자료형을 이해하고 프로그래밍을 하려면 기본 자료형에 대한 이해가 필수적으로 필요하다.
자료형의 성질을 알아야 하는 이유는 컴퓨터의 자원이 한정적이기 때문이다. 큰 값을 저장하려면 많은 메모리가 필요한데, 무한정 메모리를 사용할 수 없으니 각 데이터에 맞는 메모리를 할당해주어 메모리를 효율적으로 사용해주어야 한다. 자바는 C 언어와 유사하게 변수 선언시 밀 자료형을 명시한다. 각 자료형은 고정된 크기를 가진다. 예를 들어, int 형은 보통 4 byte 를 차지하며, 이 크기는 변하지 않는다.
참고로, 파이썬과 같은 언어는 데이터의 크기에 따라 메모리를 동적으로 할당하는 방식을 사용하여 미리 자료형의 크기를 고정하지 않기도 한다. 데이터의 크기를 제한한다는 것은 그 크기를 초과하는 데이터는 저장할 수 없다는 의미이다. 예를 들어, int 형은 4 byte 의 메모리 공간을 사용하는데, 이 공간에서는 양수만 표현할 경우 0부터 4,294,967,295까지 표현할 수 있다. 따라서 int 형으로 정의된 변수에는 4,294,967,295를 초과하는 수는 저장할 수 없다. 이는 마치 4자리의 10진수로는 9,999까지만 표현할 수 있는 것과 같은 원리로 각 비트(1 byte = 8 bit)가 2진수의 자리라고 생각하면 된다.
기본 자료형의 크기와 범위
자료형 | 기본값 | 크기와 범위 | |
문자형 | char | \u0000 | 2 byte 0(\u0000) ~ 65,535(\uFFFF) |
논리형 | boolean | false | 1 byte false or true |
정수형 | byte | 0 | 1 byte -128 ~ 127 |
short | 0 | 2 byte -32,768 ~ 32,767 |
|
int | 0 | 4 byte -2,147,483,648 ~ 2,147,483,647 |
|
long | 0L | 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
|
부동소수점형 (실수형) |
float | 0.0f | 4 byte 약 ±3.4E-38 ~ ±3.4E+38 (7자리 정밀도) |
double | 0.0d | 8 byte 약 ±1.7E-308 ~ ±1.7E+308 (15자리 정밀도) |
'Language > Java' 카테고리의 다른 글
[Java] 클래스 상속(inheritance) (0) | 2024.11.12 |
---|---|
[Java] 접근 지정자(access modifier) (0) | 2024.11.11 |
[Java] 클래스(class)와 객체(object) 선언 (0) | 2024.11.03 |
[Java] Scanner 클래스를 이용한 입력 (0) | 2024.10.29 |
[Java] 연산자 우선순위 (0) | 2024.09.10 |