기본타입(Primitive Type)
자바에서는 8가지의 기본 타입을 제공하며 이는 크게 정수형, 실수형, 문자형, 논리형으로 나뉘어집니다.
*정수형 타입: 자바에서의 정수란 소수 부분이 없으며 부호를 가지는 숫자를 말함
Primitive Data Types | ||
분류 | type | size |
정수형 | byte | 1byte(8bits) |
short | 2byte(16bits) | |
int | 4byte(32bits) | |
long | 8byte(64bits) | |
실수형 | float | 4byte(32bits) |
double | 8byte(34bits) | |
문자형 | char | 2byte(16bits) |
논리형 | boolean | 1byte(8bits) |
1. boolean
boolean타입은 true혹은 false 두 가지 값만 가질 수 있으며 1바이트의 크기를 차지합니다. 기본값으로는 false를 가집니다.
2. byte
byte타입은 정수형 자료형으로 1바이트의 크기가 할당되며, 표현 가능한 범위는 -128~127입니다. 크기가 큰 배열의 메모리를 절약하기 위해 사용된다고 합니다. 기본값은 0입니다.
3. short
short타입은 16비트 즉 2바이트의 크기를 가지며 바이트처럼 큰 배열의 메모리를 절약하기 위해 많이 사용된다고 합니다. 표현 가능한 범위는 -32,768 ~ 32,767입니다. 기본값은 역시 byte와 마찬가지로 0입니다.
4. int
int 타입은 32비트 즉 4바이트의 크기를 가지며 표현 가능한 범위는 -2,147,483,648 ~ 2,147,483,647(-2³¹ ~ (2³¹-1))입니다.
*java 8 혹은 그 이상의 버전을 사용할 경우 0부터 2³²-1의 범위를 표현할 수 있음
*자바 정수형의 기본형은 int형입니다.
5. long
long타입은 64비트 즉 8바이트의 크기를 가지며
표현 가능한 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807(-263~ (263-1))입니다.
리터럴 타입 접미사 l또는 L을 사용합니다.
*java 8 혹은 그 이상의 버전을 사용할 경우 0부터 264 -1의 범위를 표현할 수 있음
6. float
float은 4바이트의 크기를 가지며 기본값은 0.0입니다. 리터럴 타입 접미사는 f또는 F를 사용하며 만약 이를 붙이지 않을경우 기본타입인 double형으로 인식하게 됩니다.
7. double
double타입은 8바이트의 크기를 가지며 기본값은 역시 0.0입니다. 리터럴 타입 접미사는 d또는 D를 사용합니다.
*과거에는 실수를 표현할 때 float형을 많이 사용했지만, 하드웨어의 발달로 인한 메모리 공간의 증가로 현재에는 double형을 가장 많이 사용합니다.따라서 실수형 타입 중 기본이 되는 타입은 double형입니다.
(출처: TCPSchool(http://tcpschool.com/java/java_datatype_basic))
*정확한 값을 나타내야 할 경우 소수타입을 사용하지 않습니다.(ex. 화폐 단위 등)
8. char
char형은 16비트 즉 2바이트 크기를 가지며 유니코드를 사용합니다. 표현 가능한 범위는 '\ u0000'(0) ~ '\ uffff'(65535)입니다.
+) Overflow와 Underflow
Overflow는 데이터 타입의 표현 가능 범위를 넘어섰을 경우를, Underflow는 데이터 타입의 표현 가능 범위보다 작을 경우를 말한다.
참고
'STUDY > Java' 카테고리의 다른 글
Java | 객체를 XML로 쉽게 변환하기 (JAXB, javax.xml) (0) | 2021.03.24 |
---|---|
Java | java 11 설치하기 (0) | 2020.12.15 |
Java | 추상클래스(abstract class) / 인터페이스(Interface) (0) | 2020.05.18 |
Java | 접근 제어자/접근 제한자 ( Access Modifier ) (0) | 2020.05.14 |
Java | 객체 지향 프로그래밍(OOP : Object Oriented Programming)의 주요 개념 (0) | 2020.05.14 |