[JAVA]자료형

Date:     Updated:

카테고리:

태그:

[4] 자료형

4.1. 컴퓨터의 데이터 처리 방식

  • 2진수 전기 신호를 통해 처리
  • 바이트(Byte) : 데이터 처리의 기본 단위
    • 1 byte : 양수의 경우 0 ~ 255까지 표현 가능

4.2. 기본 자료형(Primitive Data Type)

  정수형 문자형 실수형 논리형
1바이트 byte X X boolean
2바이트 short char X X
4바이트 int X float X
8바이트 long X double X

4.3. 정수 자료형

자료형 바이트 수의 범위
byte 1 -2^7 ~ 2^7-1 (-128 ~ 127)
short 2 -2^15 ~ 2^15-1 (-32,748 ~ 32,767)
int 4 -2^31 ~ 2^31-1 (-2억 ~ 2억)
long 8 -2^63 ~ 2^63-1
  • byte
    • 동영상, 음악 파일, 실행 파일 등의 자료 처리 시 사용
  • short
    • C/C++ 언어와 호환 시 사용
  • int
    • 자바에서 사용하는 정수의 기본 자료형
    • 가장 많이 쓰이는 정수 자료형
    • 프로그램의 모든 숫자 int로 저장
    • 32비트를 초과할 경우, long 자료형으로 처리
  • long
    • 숫자 뒤에 L(대문자) 또는 l(소문자)을 붙여서 표현

4.4. 실수형(부동소수점 방식/고정소수점 방식)

자료형 크기
float 4byte
double 8byte
  • 정수에 비해 정밀하기 때문에 정수와 다른 방식으로 표현
  • double
    • 실수의 기본 자료형
    • 지수부와 가수부로 구성.
    • ex) 실수 값 0.1의 표현
            ->  1.0 * 10^-1
      
                ->    1.0  *  10     ^-1
                      ----    ----   ----
                      가수    밑수   지수
      
    • 컴퓨터에서는 밑수를 2로 사용하는 경우가 많다
  • 정규화 : 가수가 밑수보다 작은 한 자리까지 가수로 표현 되는 것
    • ex) 실수 0.2 정규화
            -> 0.4 * 2^-1 
                      
                -> 1.6 * 2^-3 
      
    • 가수의 첫 번째 자리 숫자는 항상 1이다

4.5. 문자형

자료형 크기
char 4byte
  • 정수로 표현
    • 내부적으로는 비트의 조합으로 표현
  • 문자를 표현하기 위해 특정 정수를 할당
    • ex) 문자 ‘A’의 경우
        'A' ==> 65  
            : 인코딩(Encoding) : 각 문자를 특정한 숫자(코드값)로 변환)
        'A' <== 65
            : 디코딩(Decoding) : 숫자를 원래의 문자 형태로 변환)
      
  • 문자 세트(Charater Set)
    • 각 문자에 할당된 숫자값(코드값)을 정의해 둔 세트
      • ASCII code(아스키 코드) : 알파벳, 숫자 및 특수문자 등을 1바이트 안에서 표현하기 위해 사용하는 문자세트
      • euc-kr
      • 유니코드(Unicode)
        • 한글과 같은 복잡한 언어를 표현하기 위한 전세계 표준 인코딩
        • UTF-8 : 1바이트에서 4바이트까지 다양한 문자 표현 가능
        • UTF-16 : 2바이트로 문자 표현
        • JAVA도 UNICODE 사용
          • ex) JAVA의 유니코드 A
              char ch = 'A';
            
    • 내부적으로는 숫자로 인식되므로 숫자를 입력해도 문자가 출력될 수 있다

4.6. 논리형

자료형 크기
boolean 1byte
  • true(참), false(거짓) 두가지만 나타냄
  • 값이 존재하는지, 배열이 비었는지, 결과가 참인지 거짓인지 등을 표현

4.7. 지역 변수 타입 추론(Local-Variable Type Inference)

  • 지역변수를 자료형 없이 사용
  • 추론이 가능한 변수에 대해서는 자료형을 선언하지 않을 수 있다
  • 한 번 선언 및 추론된 변수는 다른 타입의 값을 대입할 수 없다
  • 지역변수에만 사용 가능

4.8. 참조형

  • 클래스 자료형
  • JDK에서 제공되는 클래스 또는 프로그래머가 정의한 클래스
  • 클래스에 따라 사용 크기가 다르다

    ex)String, Student, ....

  • 사용 메모리 크기가 정해져 있는 기본 자료형과 달리 클래스에 따라 변화

JAVA 카테고리 내 다른 글 보러가기

댓글 남기기