본문 바로가기
IT/Java

자바 Casting(형변환) 알아보기

by flatsun 2018. 12. 27.
반응형


저번에 캐스팅 설명도 안하고 그냥 캐스팅을 쓰면 됩니다

이렇게 근본없이 설명을 했는데


이 블로그에 원래 근본이란 존재하지 않으므로

근본을 찾으려 하면 안된다


어쨌든 캐스팅 대충 개념은 알고 가야겠는데

먼저 위의 사진을 보면

float와 double에는 소수도 정수도 다 들어가지는데

int에는 소수가 안들어가진다


int에는 소수가 아닌 정수만 들어가기 때문에

Casting을 사용해야 되는데


어떻게 하냐면 걍 숫자 앞에 (int), (float), (long) 등을 박아버리면 된다



이렇게 소수 앞에 (int)를 박아버리니 에러가 안 뜨는데

어쨌든 1.5를 가지고 캐스팅을 했으니 a는 소수가 되는건가?




그런거 없고 

소수는 저승으로 증발하고 1만 남은 것을 볼 수 있는데

int 형태로는 소수를 못 받는 것을 기억해보자


못 받으니까 소수를 다 날려버린 후 가져온거다

1.5나 1.231231231나 (int)로 캐스팅한 후 출력해보면

1만 출력된다


이쯤 되면 슬슬 캐스팅이 뭔지 감이 올텐데

캐스팅은 데이터형을 원하는 대로 변경하여 사용하는 거고


(변환할 데이터형 ex) int float double ... ) 변수명, 상수(constant)를 넣으면 된다..


마지막으로 자동형변환을 알고 넘어가보자

이거는 JVM이 자동으로 해주는 거기 때문에 외울 필요도 없다


이게 byte + byte를 더했을 시 연산결과가 데이터형보다 더 큰 경우가 있기 떄문에

JVM이 자동으로 결과 데이터형을 바꿔주는 것인데


byte+byte끼리 합쳐서 int형 크기가 되면 int로 바꿔주고

int + int 합쳐서 int 범위 넘으면 long으로 바꿔주고 그런거다


즉 자동형변환은 작은 데이터형으로 연산을 할 때

데이터형을 넘어서는 값이 나오면 더 큰 데이터형으로 바꿔준다!!!!






반응형

'IT > Java' 카테고리의 다른 글

자바 삼항연산자 알아보기  (0) 2019.01.08
자바 while, do while 알아보기  (0) 2019.01.06
자바 switch 사용 시 범위 지정하기  (0) 2018.12.26
자바 switch문 알아보기  (1) 2018.12.20
자바 if문 알아보기  (1) 2018.12.18

댓글