2.4 기본형 (Primitive Types)
자바가 제공하는 8가지 기본 자료형은 크게 논리형, 문자형, 정수형, 실수형의 4가지 범주로 나눌 수 있습니다. 이 섹션에서는 각 유형의 특징과 활용법을 자세히 살펴봅니다.
1. 논리형: boolean
논리형은 true와 false 두 가지 값만을 가질 수 있습니다. 기본값(default value)은 false입니다. 논리형 변수는 대답(yes/no), 스위치(on/off) 등의 논리적 상태를 표현하는 데 사용됩니다. 데이터를 저장하기 위해 1 byte의 공간을 차지합니다 (자바 스펙상 메모리 할당).
boolean isPowerOn = true;
boolean hasPermission = false;
2. 문자형: char
문자형은 단 하나의 문자를 저장하는 데 사용되며, 작은따옴표(')로 문자를 감싸서 할당해야 합니다. 문자열과 구별되며, 내부적으로는 문자에 해당하는 유니코드 정수값이 저장됩니다. 자바의 문자는 2 byte를 차지합니다.
char ch1 = 'A'; // 문자형 'A'
char ch2 = 65; // 10진수 65는 대문자 A입니다
char ch3 = '\u0041'; // 유니코드 16진수 방식
System.out.println(ch1); // A
System.out.println(ch2); // A
3. 정수형: byte, short, int, long
정수형은 숫자를 저장하며, 값의 크기 범위에 따라 4가지 타입 중 하나를 선택해야 합니다.
| 자료형 | 크기 (byte) | 범위 |
|---|---|---|
byte | 1 | -128 ~ 127 |
short | 2 | -32,768 ~ 32,767 |
int | 4 | 약 -21억 ~ 21억 (기본 정수형) |
long | 8 | 매우 큰 정수 (약 -900경 ~ 900경) |
사용 예제
byte b = 127;
short s = 32767;
int i = 2147483647;
long l = 10000000000L; // long형 리터럴은 접미사 'L'을 붙임
가장 많이 사용되는 타입은 int형이며, 연산 속도와 효율성 면에서 기본값으로 설정되어 있습니다.
4. 실수형: float, double
실수형은 소수점이 있는 실수를 나타낼 때 사용됩니다.
| 자료형 | 크기 (byte) | 특징 |
|---|---|---|
float | 4 | 7자리 정도의 정밀도 |
double | 8 | 15자리 정도의 정밀도 (기본 실수형) |
정밀도와 사용 규칙
실수 연산은 오차가 발생할 수 있으므로, 높은 정밀도를 보장하는 double 형을 기본으로 사용합니다. float형을 사용할 경우 숫자 뒤에 접미사 f나 F를 붙여야 합니다.
float pi1 = 3.14f; // float 리터럴은 접미사 'f' 필수
double pi2 = 3.14; // 접미사가 없으면 double로 간주
double pi3 = 3.14d; // double 명시적 표현
자바에서는 실수의 저장 방식을 부동소수점 방식을 따르며, 이는 가수부와 지수부로 나뉘어 더 넓은 범위를 표현할 수 있게 합니다.