본문 바로가기
개발/자바

기본 타입

by wusdlqslek 2022. 9. 7.
타입(Data Type)은 해당 데이터가 메모리에 어떻게 저장되고, 어떻게 처리되어야 하는지 명시적으로 알려주는 역할을 한다.
자바에서는 이런 형태를 미리 정의하여 제공하고 있다.
  • 정수형 타입
정수형 타입 할당되는 메모리 크기 데이터의 표현 범위
byte 1바이트 -128 ~ 127
short 2바이트 -2^15 ~ (2^15 - 1)
-32, 768 ~ 32,767
int 4바이트 -2^31 ~ (2^31 - 1)
-2,147,483,648 ~ 2,147,483,647
long 8바이트 -2^63 ~ (2^63 - 1)
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
  • 정수형 데이터 타입을 결정할 때는 반드시 자신이 사용하고자 하는 데이터의 최대 크기를 고려해야한다.
  • 해당 타입이 표현할 수 있는 범위 밖의 데이터를 저장하면, Overflow가 발생해 전혀 다른 값이 저장되기 때문이다.
  • Overflow는 해당 타입이 표현할 수 있는 최대 범위보다 큰 수를 저장할 때 발생하는 현상이며, 발생 시 최상위 비트를 벗어난 데이터가 인접 비트를 덮어쓰므로, 잘못된 결과를 얻게 된다.
  • 그 반대로 최소 범위보다 작은 수를 저장할 때 발생하는 것은 Underflow라고 한다.
public class OverflowExample{
	public static void main(String[] args){
    	byte num1 = 127;
        byte num2 = -128;
        
        num1++;
        num2--;
        
        System.out.println(num1); // -128;
        System.out.println(num2); //127;
    }
}

  • 실수형 타입
실수형 타입 지수의 길이 가수의 길이 유효 자릿수
float 8 비트 23 비트 소수 부분 6자리까지 오차없이 표현할 수 있음.
double 11 비트 52 비트 소수 부분 15자리까지 오차없이 표현할 수 있음.
실수형 타입 할당되는 메모리의 크기 데이터의 표현 범위 리터럴 타입 접미사
float 4바이트 (3.4 X 10-^38) ~ (3.4 X 10^38) F 또는 f
double 8바이트 (1.7 X 10^-308) ~ (1.7 X 10^308) D 또는 d (생략 가능함)
  • 자바에서 실수는 소수부나 지수부가 있는 수를 가르키며, 정수보다 넓은 표현 범위를 가진다
  • 하드웨어 발달로 현재에는 double형을 많이 사용하며, 기본이 되는 타입은 double형이다
  • 실수형 데이트 타입 결정 시에는 표현 범위 이외에 유효 자릿수를 고려해야한다.
  • 컴퓨터에서 실수를 표현하는 방식은 오차가 발생할 수 밖에 없는 태생적 한계를 가지며, 모든 프로그래밍 언어에서 발생하는 공통된 문제이다

 

  • 문자형 타입
문자형 타입 할당되는 메모리의 크기 데이터의 표현 범위
char 2 바이트 0 ~ 216
  • 자바에서 문자형 타입은 작은 정수나 문자 하나를 표현할 수 있는 것을 의미한다
  • 기본은 char 타입이다
  • 컴퓨터는 2진수 밖에 인식하지 못하므로 문자도 숫자료 표현해야 인식할 수 있다
  • 자바에서는 유니코드를 사용하여 각 나라 모든 언어를 표현할 수 있으며, 유니코드는 문자 하나를 16비트로 표현하므로, 총 65,536개의 문자를 표현할 수 있다
  • 논리형 타입
논리형 타입 할당되는 메모리의 크기 데이터의 표현 범위
boolean 1바이트 true 또는 false
  • boolean형의 기본 값은 false이며, 가장 작은 크기인 1바이트의 크기를 가진다
반응형

댓글