암묵적 변환
데이터의 손실
이 없는 자료형 변환에서만 일어난다.
정수형은 더 큰 정수형으로 암묵적 변환이 가능하다.
int8 -> uint8 / int16 -> uint16
하지만 음수를 표현할 수 있는 int형과
음수를 표현할 수 없는 uint형 사이에는
암묵적 변환이 불가능하다.
자연수는 더 큰 크기의 바이트형으로
암묵적 변환이 가능하다.
uint16 -> byte2 / uint16 -> address
명시적 변환
자료형을 고정적으로 결정할 때 사용한다.
컴파일러가 암묵적 변환을 해주지 않는 것을
개발자가 데이터 손실
을 감안해서라도
강제로 변환을 하고 싶을 때 사용한다.
형 추론 (Type Deduction)
솔리디티 언어는 개발 편의를 위해
형 추론을 지원한다.
변수를 선언할 때
자료형을 반드시 명시할 필요 없이
var
키워드로 선언할 수 있다.
이렇게 선언된 변수는
처음 대입되는 데이터의 형태로 선언된다.
그러나 var 키워드는
함수의 매개변수나 변환자에 사용할 수 없다.