형 변환이란?
- 자료형을 다른 자료형으로 변환하는 것을 말한다.
- 왜 필요하냐면, 정수와 실수는 컴퓨터 내부에서 표현되는 방식이 전혀 다릅니다. 따라서 정수와 실수를 더한다고 할 때 그대로 연산을 수행할 수 없고 하나의 자료형으로 통일한 후 연산을 해야 합니다. 이때 형 변환 type conversion 이 필요합니다!
- 형 변환은 크게 2가지로 나뉩니다. 자동 형 변환과 강제 형 변환이 있습니다.
- 형 변환의 기본 원칙 2가지가 있습니다. 첫 번째, 바이트 크기가 작은 자료형에서 큰 자료형으로 형 변환은 자동으로 이루어진다. 두 번째, 덜 정밀한 자료형에서 더 정밀한 자료형으로 형 변환은 자동으로 이루어진다.
- 이런 기본 원칙에 기반하여, 위 그림의 화살표 방향과 반대로 형 변환을 하려면 강제로 변환해야 합니다. 이때 값 손실이 발생할 수 있다!
묵시적 형 변환 (자동 형 변환)
- 바이트 크기가 작은 자료형에서 큰 자료형으로 대입하는 경우 형 변환이 자동으로 이루어집니다.
- 덜 정밀한 자료형에서 더 정밀한 자료형으로 대입하면 형변환이 자동으로 이루어진다.
- 자동형변환 예시를 보면 byte형은 1바이트이고 int형은 4바이트이므로 자료손실없이 값이 옮겨진다.
- 같은 바이트를 사용하는 int 와 float의 경우 float 이 더 정밀하므로 int 를 float 으로 자동 변환 시켜줄 수 있다.
명시적 형 변환 (강제 형 변환)
- 바이트 크기가 큰 자료형에서 작은 자료형으로 대입하는 경우 자료 손실이 발생할 수 있습니다. 따라서 프로그래머가 변환할 자료형을 명시적으로 써 주어야 하며 이를 강제 형 변환이라고 합니다.
- 강제로 형을 바꾸려면 바꿀 형을 괄호를 써서 명시해야 합니다.
- 강제형변환 예시를 보면 값 1000은 byte형 범위를 넘기 때문에 값이 손실되었다.
'[그린컴퓨터] Server > JAVA(기본)' 카테고리의 다른 글
비트 연산자 {정의, 논리, 이동} (0) | 2023.05.11 |
---|---|
기본 연산자 {항, 대입, 부호, 산술, 증가·감소, 관계, 논리·단락회로평가, 복합 대입, 조건} (0) | 2023.05.11 |
변수와 자료형 & 메모리 {메모리, 기본자료형과 메모리, 정수 자료형, 문자 자료형, 실수 자료형, 논리 자료형, 상수와 리터럴} (0) | 2023.05.10 |
변수 이름 정하는 규칙 {제약사항} (0) | 2023.05.09 |
변수란 무엇일까? {변수, 변수선언, 변수 초기화} (0) | 2023.05.09 |