이해를 위한 메모 공간

3-4. 명시적 형변환과 묵시적 형변환

자바게 2020. 3. 20. 22:54

각 자료형들은 사용하는 메모리 공간 크기나 담을 수 있는 변수의 값이 다르기 때문에 연산을 하거나 변수의 값을 바꿀

때 자료형을 일시적으로 변환하게 된다.

크게 자료형이 변환됨을 프로그램에서 알리는 경우를 명시적 형변환이라 보고,

프로그램에서 크게 문제 되지않는 경우에 별도의 알림없이 형이 바뀌는 경우를 묵시적 변환으로 본다.

 

2byte 크기의 short형 변수를 4byte 크기의 int형 변수에 대입하는 과정.

 

2byte 정수형 변수를 4byte 정수형 변수에 대입 하는것으로 크기에 따른 형변환이 일어 났음에도 별 다른 에러없이 진행 됨 이런것을 묵시적 형변환이라 함.

 

 

반대로 4byte 변수를 2byte변수에 대입 해보았다. (설명인 즉슨 int형으로부터 short형으로 변환이 불가능하다)

자신보다 크기가 작은 형변환에서는 프로그램에서 할 수 없다는 에러가 뜨게된다.

 

int형 변수앞에 (short)를 넣어 명시적(강제적)형변환을 해주었다

알면서도 형을 강제로 변환시키는 것을 명시적이자 강제적 형변환이라고 한다.

그리고 4byte에서는 허용가능한 수를 2byte에서는 정확하게 표현하지 못하고 다른 수를 출력하게 된다.