공부하는 스누피

[JAVA] Type casting 본문

Languages/Java

[JAVA] Type casting

커피맛스누피 2021. 1. 13. 11:52

JAVA에는 일반적인 값을 저장하는 primitive data type이 8가지 있는데, 각 type은 고유한 크기를 가지고 있다.

bool - 1bit (true, fault만 저장하기 때문)
char - 2byte(16bit) -> 문자형

<정수형>
byte - 8bit
short - 2byte(16bit)
int  - 4byte(32bit)
long - 8byte(64bit)

<실수형>
float - 4byte
double - 8byte

Implicit type casting

  • 작은 타입은 큰 크기의 자료형으로 자동 형변환된다. 따로 명시하지 않아도 자동으로 수행된다.

ex) int는 실수형으로 자동형변환될 수 있다.

long var = 100; (4byte -> 8byte)

float fvar = var; (8byte -> 4byte) => 다형성

int kvar = 'A'; (2byte -> 4byte)

 

Explicit Type casting

  • 큰 크기의 타입을 작은 크기의 타입으로 변경하는 경우이다.

  • 명시적으로 형변환해주지 않으면 오류가 발생한다.

ex) 실수 -> 정수형

identifier = (target_type) value; => 명시적으로 형변환해주어야함

float fvar = 100; (정수형인 100을 실수형 float로 저장 - implicit 형변환)

long var = (long)fvar; (실수형인 fvar를 정수형으로 변경)

Comments