2 분 소요

데이터 타입 (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 값이 될 수도 있습니다.
    • 원시 자료형은 생성시 소문자로 시작을 합니다. 하지만 비원시 자료형은 대문자로 시작을 해야합니다.
    • 원시 자료형은 자료형에 따라서 크기가 다르지만 비원시 자료형은 같은 사이즈를 갖고 있습니다.