Swift는 타입이 엄격한 언어라고 한다.
타입은 대부분 언어에서 있지만 Swift는 보다 더 까칠하다...
딱 보면 딱 알아서 처리해주면 정말 좋을텐데!!!
일단 값이 컴퓨터에 저장되고 표현되는 방식을 알아야하는데,
컴퓨터는 정보를 0과 1로만 다룬다.
var score: Int = 100
var number: Double = 100
위의 코드를 사람이 봤을 때는 똑같은 100이지만 컴퓨터의 입장에서는 다르다.
Int
와 Double
이라는 각각의 타입(규칙)에 따라서 0과 1로 이루어진 서로 다른 데이터로 저장이 된다.
서로 다른 타입은 읽고 쓰는 규칙이 다르다.
따라서, 저장된 값을 CPU가 처리하려면 이 값이 어떤 규칙으로 저장된 것인지 컴퓨터가 알아야하기 때문에 타입이 필요하다.
score = number
위의 코드는 실행이 불가능한데,
그 이유는 타입이 달라지면 메모리에 쓰여진 0과 1의 구조가 달라져서 서로 호환될 수 없기 때문이다.
다른 타입을 처리하고 싶다면 반드시 변환을 거친 다음에 사용해야 한다.
참고 자료:
yagom - 변수와 데이터 타입 (youtube)