3.3 자료형
일반적으로 서로 다른 타입의 데이터끼리 연산을 시도할 때 처리하는 기준은 프로그래밍 언어마다 서로 다릅니다. 스위프트를 포함한 대다수 언어에서 실수와 정수는 일부 호환이 가능하며, 일반적으로 정수를 실수로 변환하여 연산을 처리하는 경우가 많습니다. 정수를 실수로 변환할 때에는 값의 손실이 발생하지 않지만, 실수를 정수로 변환하려면 값의 손실이 발생할 수 있기 때문입니다.
문자와 숫자를 결합하는 경우에는 조금 더 주의해야 합니다. 문자와 숫자 양쪽을 모두 문자로 간주하고 알아서 처리하는 자바스크립트 같은 편리한 언어도 있지만 스위프트에서는 문자와 숫자를 바로 결합할 경우 오류로 처리하거든요. 이는 방금 전에 언급한 것처럼 어느 쪽으로 타입을 맞추어야 할지 기준이 모호하기 때문입니다.
여기에서 이야기하고자 하는 것은 명확합니다. 값의 종류가 일치해야만 그에 맞는 처리가 가능하다는 것입니다. 단, 한 가지 전제가 있습니다. 변수나 상수에 할당되는 값은 모두 타입이 구분 될 수 있어야 하죠. 또한 타입 별로 메모리 공간의 크기가 달라져야 하는 것도 하나의 이유입니다.
이런 이유들 때문에 스위프트에서는 변수나 상수를 정의할 때 반드시 숫자, 문자, 문자열, 논리(참/거짓) 등 몇 가지 종류의 타입을 지정하고 그에 맞추어 사용해야 합니다. 이를 데이터 타입(Data Type), 즉, 자료형이라고 합니다. 변수나 상수는 일반적으로 처음 입력되는 값에 맞는 자료형으로 초기화되며, 이후로는 해당 자료형에 호환되는 형식의 값만 저장할 수 잇습니다. 그렇지 않을 경우 오류가 발생합니다.
Last updated