형변환(casting)
프로그램을 작성하다가 보면 서로 다른 타입의 값을 연산해야 하는 경우가 생깁니다.
하지만 연산을 위해서는 타입이 같아야만 가능합니다.
이럴경우 우리는 형변환을 통해 같은타입으로 변환시켜줍니다.
예로 int자료형과 double자료형을 더하는 연산을 하기위해서는 두 값을 같은 타입으로 바꾸어주어야합니다.
둘다 int형으로 바꾸어주던지, double형으로 바꾸어주던지 둘 중 하나로 변환 해줘야 합니다.
형변환을 하여 연산을 하여도 기존에 변수에 저장되어 있던 값이 아예 바뀌는 것은 아니라는 것도 확인 할 수 있습니다.
※ y변수를 형변환 시키지 말고 연산을 해보시고, result변수의 타입을 double로 바꾸시고
y변수를 형변환시키지 않고 연산이 가능한지 확인해보세요
확인을 해보는 이유는 마지막에 공부해봅시다.
형변환을 위해 앞에 붙여준 괄호를 형변환연산자라고 합니다.
우리는 형변환을 캐스팅 이라고도 얘기합니다.
우리가 알고있는 8개의 기본형타입변수 중 boolean형을 제외한 7가지 타입은 서로 형변환이 가능합니다.
첫 번째 보여드린 예제에서 result값을 double로 변형시켜서 연산 해보셨나요?
굳이 형변환을 하지 않아도 연산이 되는 것을 직접 확인하셨을 겁니다.
여기서 조금 더 알고 가야하는데요.
형변환을 할때 값의 범위가 큰 자료형에서 작은 자료형으로 형변환을 할 때에는 형변환 연산자를 사용하지 않으면 에러가 난다는 사실을 아셔야 합니다.
byte -> short -> int -> long -> float -> double
char -> int ->long -> float -> double
<자바의정석 참고>
위에 나열한 것이 형변환연산자를 사용하지 않고도 형변환이 가능한 방향을 나타낸 겁니다.
역으로 사용하기 위해서는 반드시 형변환 연산자를 사용하여야 합니다.
'프로그래밍 > Java' 카테고리의 다른 글
[Java] 10. 배열(Array) (1) | 2015.03.03 |
---|---|
[Java] 9. 문자열(String) (1) | 2015.03.01 |
[Java] 7. 변수(Variable) (0) | 2015.02.24 |
[Java] 6. 클래스, 객체, 메소드~? (2) | 2015.02.23 |
[Java] 5. Class 작성시 주의할 사항!! (1) | 2015.02.21 |