명시적 타입은 정적 언어의 특징 중 하나입니다.
int a 라고 하면 a 는 integer 만 담을 수 있습니다.
float 를 int 에 넣는 행위는 자살행위입니다. 반대도 자살행위입니다.
가급적 형변환은 하지 않는 것이 좋습니다.
이에 반해 동적 타입 언어도 있습니다.
자바스크립트나 파이선이 동적 타입언어 입니다.
자바스크립트는 var 나 local 을 이용해서 변수를 선언하고, 이 안에 int, float 를 담을지는 나중에 결정될 수 있으며, 바꿀 수도 있습니다.
파이선은 var 이라는 것 자체가 없습니다. 그냥 씁니다.
그렇다고 해서 동적언어에서 하나의 변수에 int 도 담았다가 float 도 담았다가 하는 것은 자살행위입니다.
프로그래머가 관리를 잘 해 주어야 합니다.
명시적 타입 언어는 컴파일 시간에 타입 관련 오류를 잡아주므로 이상한 짓을 하지 못하게 아예 막아버립니다.
동적 타입 언어는 이런 것이 없기에 프로그래머가 마음먹은대로 할 수 있습니다.
중요한 점 나갑니다.
- 변수는 만들자마자 값을 할당합니다. 할당할 수 없다면 이 부분에서 그 변수는 사용할 필요가 없거나, 나중에 선언해야 한다는 뜻입니다.
- 동적언어에서 처음 할당한 값이 그 변수의 타입이고 변하지 않도록 합니다.