기존 자료형 (Data type)
정수, 실수, 문자, 논리값 등
기본 자료형 변수는 그것이 나타내고자 하는 기본 자료형의 값을 가지고 있다.
참조 자료형 (Reference Type)
배열, 클래스, 인터페이스 등
참조 자료형 변수는 값이 그에 대한 참조 즉 메모리 주소를 가지고 있다.
두 자료형의 차이는 다른 객체의 메소를 호출할 때 나타난다.
자바 기본 자료형의 크기와 범위
자료형 | 타입 | 설명 | 크기(bit) | 메모리 크기(byte) | 표현 범위 |
---|---|---|---|---|---|
문자형 | char | 16비트 유니코드(Unicode) 문자 데이터 | 16 | 2 | '\u0000' ~ '\uFFFF' |
논리형 | boolean | 참/거짓 | 8 | 1 | true/false |
정수형 | byte | 부호를 가진 8비트 정수 | 8 | 1 | -128 ~ +127 |
정수형 | short | 부호를 가진 16비트 정수 | 16 | 2 | -32,768 ~ +32,767 |
정수형 | int | 부호를 가진 32비트 정수 | 32 | 4 | -2,147,483,638~+2,147,483,647 |
정수형 | long | 부호를 가진 64비트 정수 | 64형 | 8 | -9223372036854775808~+9223372036854775807 |
실수형 | float | 부호를 가진 32비트 부동 소수점 | 32 | 4 | -3.402932347e+38~+3.40292347e+38 |
실수형 | double | 부호를 가진 64비트 부동 소수점 | 64 | 8 | -179769313486231570e+308~1.79769313486231570e+08 |
타입 변환(type conversion)
묵시적 형 변환 ( implicit type conversion)
묵시적 타입 변환은 대입 연산이나 산술 연산에서 컴파일러가 자동으로 실행해주는 타입 변환
데이터의 손실을 감수하더라도 연산자의 오른쪽에 존재하는 데이터의 타입이 연산자의 왼쪽에 존재하는 데이터의 타입으로 묵시적 타입 변환이 진행된다.
int i = 100;
double d = i;
long l = i;
float f = 3.14f;
d = f;
명시적 형 변환 (강제 타입 변환, explicit type conversion)
명시적 타입 변환은 사용자가 타입 캐스트(type cast) 연산자를 사용하여 강제적으로 수행하는 타입 변환
변환하고자 하는 데이터의 앞에 괄호(())를 추가하고, 그 안에 변환할 타입을 적으면 된다.
int a;
byte b;
b = (byte) a;