데이터 타입 (Data Types)
- 데이터 타입은 두 종류로 나뉩니다.
- 원시 자료형(Primitive data types) - byte, short, int, long, float, double, boolean, char
- 비원시 자료형(Non-primitive data types) - String, Arrays, Classes 등등.
원시 자료형(Primitive data Types)
- 원시 자료형은 사이즈, 타입, 변수 값을 정의해주며 추가적인 메소드는 없습니다. 메소드 관련은 추후에 포스팅하겠습니다.
- 원시 자료형으로는 8가지가 있습니다.
Data Types |
size |
Description |
byte |
1byte |
-128 ~ 127까지의 정수를 저장할 수 있습니다. |
short |
2bytes |
-32,768 ~ 32,767까지의 정수를 저장할 수 있습니다. |
int |
4bytes |
-2,147,483,648 ~ 2,147,483,647까지의 정수를 저장할 수 있습니다. |
long |
8bytes |
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807까지의 정수를 저장할 수 있습니다. |
float |
4bytes |
1.4E-45 ~ 3.4028235E38까지의 실수를 저장할 수 있습니다. |
double |
8bytes |
4.9E-324 ~ 1.7976931348623157E308까지의 실수를 저장할 수 있습니다. |
boolean |
1bit |
true 또는 false만 저장할 수 있습니다. |
char |
2bytes |
하나의 문자 또는 아스키 값을 저장할 수 있습니다. |
숫자형
- 원시 자료형 중 숫자는 두 타입으로 나눌 수가 있습니다.
- 정수형은 소숫점이 없는 정수를 저장합니다. 해당 원시 자료형으로는 byte, short, int, long이 있습니다.
- 실수형은 소숫점이 있는 실수를 저장합니다. 해당 원시 자료형으로는 float, double이 있습니다.
- ** 이렇게 많은 숫자형이 있더라도 가장 자주 쓰이는 것은 int와 double이며 이 부분에 대해서는 아래에 추가 설명하겠습니다.
정수형
Byte
- byte형은 -128부터 127까지의 정수를 저장할 수 있습니다. int 또는 다른 정수형 대신 byte를 사용함으로 메모리 낭비를 방지할 수 있습니다.
byte num = 100;
System.out.println(num);
Short
- short형은 -32,768부터 32,767까지의 정수를 저장할 수 있습니다.
short num = 10000;
System.out.println(num);
Int
- int형은 -2,147,483,648부터 2,147,483,647까지의 정수를 저장할 수 있습니다. 또한 가장 자주 쓰이는 정수형입니다.
int num = 100000000;
System.out.println(num);
Long
- long형은 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 정수를 저장할 수 있습니다. 해당 타입을 사용할 때에는 값 끝에 “L”을 꼭 붙여줘야합니다.
long num = 10000000000L;
System.out.println(num);
실수형
Float
- float형은 3.4e-038부터 3.4e+038까지의 실수를 저장할 수 있습니다. 해당 타입을 사용할 때에는 값 끝에 “f”를 꼭 붙여줘야합니다.
float num = 5.0005f;
System.out.println(num);
Double
- double형은 1.7e-308부터 1.7e+308까지의 실수를 저장할 수 있습니다. 해당 타입을 사용할 때에는 값 끝에 “d”를 붙여도 되고 안붙여주셔도 됩니다. 자바에서는 실수 리터럴은 기본적으로 double로 해석을 합니다.
double num1 = 19.99;
double num2 = 19.99d;
System.out.println(num1);
System.out.println(num2);
- float형은 6 또는 7자릿수까지 저장할 수 있으며 double형은 15자릿수까지 저장할 수 있기에 double형을 사용하시는 것이 계산 작업에서는 좀 더 안전합니다.
불리언(Boolean)
- boolean형은 true 또는 false 값만 저장할 수 있습니다.
boolean Java = true;
boolean c = false;
System.out.println(Java); // 출력: true
System.out.println(c); // 출력: false
캐릭터(Characters)
- char형은 하나의 문자를 저장할 수 있습니다. 해당 문자는 따옴표( ‘ ‘ )로 감싸야 합니다. 또한 문자 대신 아스키코드 값을 넣으면 출력시에 해당 문자로 출력됩니다.
char grade1 = 'A';
char grade2 = '65';
System.out.println(grade1); // 출력: A
System.out .println(grade2); // 출력: A
비원시 자료형(Non-primitive data type)
스트링(String)
- String형은 문자열을 저장할 수 있습니다. 해당 값은 쌍따옴표( “ “ )로 감싸야 합니다.
String greeting = "Hello Java";
System.out.println(greeting);
비원시 자료형
- 비원시 자료형은 객체를 불러오는 것이기에 참조 형식이라고 합니다.
- 원시 자료형과 비원시 자료형의 차이점은 이러합니다.
- 원시 자료형은 자바에서 미리 정의가 되어있습니다. 하지만 비원시 자료형은 자바에서 정의가 안되어있으며 개발자가 정의를 해주어야합니다 (String형 제외).
- 비원시 자료형은 메소드를 사용할 수 있습니다. 원시 자료형은 메소드 사용이 불가합니다.
- 원시 자료형은 항상 값이 있습니다. 하지만 비원시 자료형은 null 값이 될 수도 있습니다.
- 원시 자료형은 생성시 소문자로 시작을 합니다. 하지만 비원시 자료형은 대문자로 시작을 해야합니다.
- 원시 자료형은 자료형에 따라서 크기가 다르지만 비원시 자료형은 같은 사이즈를 갖고 있습니다.