
자바교육에서 사용되는 자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.
이전에 자료형에 이어 형 변환에 대해 설명합니다.
[에밀리쌤의 JAVA 기초] 자료형
자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다. 이전에 작성된 변수에 이은 자료형에 대한 설명입니다. [에밀리쌤의 JAVA 기초] 변수 자바 기초 프로그래밍의 교안을 바탕으로 한
classroom.emilylecture.com

앞에서 정수와 실수에 대한 이야기를 했었는데요,
사람이 정수와 실수를 더한다고 했을 때, 사실 정수이고 실수인지를 판단하지는 않죠.
2 + 3.14를 계산해 본다고 하면, 아마 읽으시는 분들도 바로 5.14잖아 라고 바로 머릿속으로 계산하셨을 겁니다.
그런데 컴퓨터는 사람이 계산하는 것처럼 한번에 탁 계산하지 않는답니다.
일단 숫자 2를 받으면서 정수형 숫자로구나로 확인하고, 다시 숫자 3.14를 받으면서 실수형 숫자네라고 확인을 먼저 합니다. 이 두 수를 더하려 할 때 자료형 확인을 하게 됩니다. 하나는 정수이고, 하나는 실수이기 때문에 바로 더하지 못합니다. 컴퓨터는 두 수의 자료형을 맞춰주는 작업을 먼저 하게 됩니다. 이렇게 더하기 위해 컴퓨터는 단계별로 하나씩 처리를 해나가게 되고, 그 순간에 필요에 따라 자료형을 맞추는 형 변환을 해주게 되는 겁니다.

컴퓨터가 계산을 하려할 때 단계에 따라 자료형을 맞춰주는 것을 형 변환이라 하고, 정해진 규칙에 따라 진행됩니다.
위 내용에 언급된 형 변환 기본원칙은 헷갈릴 수 있으니 기억해 두세요.
자료형의 바이트를 외우라고 앞에서 언급했던 것 기억하시나요? 바로 이 형 변환에서의 규칙과 연결되기 때문이었답니다.
바이트 크기가 작은데에서 큰 데로, 정수형에서 실수형으로 변환(덜 정밀한 자료형에서 더 정밀한 자료형)되는 것은 연산이 발생했을 때 알아서 변환을 하게 됩니다.

묵시적 형 변환이 앞의 교안에서 설명했던 알아서 형 변환이 일어나게 되는 경우입니다.
바이트 크기가 작은 수에서 큰 수로, 정수형에서 실수형으로 형 변환을 하고 난 뒤에 연산식을 수행하게 됩니다.

명시적 형 변환은 앞에서 설명했던 묵시적 형 변환과 달리 때에 따라서는 바이트 크기가 큰 자료형에서 작은 자료형으로 대입해야 하는 경우가 생길 수도 있습니다. 그럴 때에는 형 변환을 해야 한다는 것을 코드 상에서 명시해줘야 합니다.
괄호 안에 변환하고자 하는 자료형을 작성해서 변수 앞에 언급해줘야 합니다.
실수형 숫자의 연산 결과를 정수형으로 반환해야 하는 경우 교안의 예제처럼 명시적 형 변환이 필요할 수 있습니다.
이럴 때 사용하면 되는데, 문제는 형 변환을 언제 하느냐에 따라 결과가 달라지게 됩니다.
교안에 명시된 두 가지 연산의 결과를 직접 에디터를 실행해서 살펴보세요.
꼭 직접 실행해서 결과를 살펴보셔야 합니다!
코드는 눈으로만 보고 이해하시면 안 됩니다!!!!
내용이 조금 짧지만, 나름 기본이 되고 중요한 부분이라 따로 정리해 보았습니다.
프로그램은 연습이 필요합니다. 특히 처음 하시는 분들의 경우에는 더더욱!
형 변환을 위해 숫자를 여러 방법으로 넣고 연습해보세요.

이론으로 외우려고 하는 것보다는 에디터에 코드를 넣고 직접 돌려서 결과를 보는 게 더 중요합니다.
다음번 포스팅에서는 연산자에 대해 살펴보도록 하겠습니다.
[에밀리쌤의 JAVA 기초] 여러가지 연산자(1)
자바 기초 프로그래밍의 교안을 바탕으로 한 추가 설명입니다.이전에 형 변환(Type Conversion) 이어 자바의 여러 가지 연산자에 대해 설명합니다. [에밀리쌤의 JAVA 기초] 형 변환자바 기초 프로그
classroom.emilylecture.com
'에밀리쌤의 기초교실 > JAVA 프로그래밍' 카테고리의 다른 글
| [에밀리쌤의 JAVA 기초] 조건문과 반복문(1) (3) | 2024.04.30 |
|---|---|
| [에밀리쌤의 JAVA 기초] 여러가지 연산자(2) (2) | 2024.04.26 |
| [에밀리쌤의 JAVA 기초] 여러가지 연산자(1) (1) | 2024.04.24 |
| [에밀리쌤의 JAVA 기초] 자료형 (2) | 2024.04.16 |
| [에밀리쌤의 JAVA 기초] 변수 (36) | 2024.04.12 |
댓글