Type Inference & Annotation & Conversion
안녕하세요;)
오늘은 Swift의 타입 추론, 타입 지정, 형 변환에 대해서 알아보도록 하겠습니다.
1. Type Inference( 타입 추론)
타입 추론이란 뭘까요?
타입을 지정하지 않고 초기값을 보고 자동으로 타입이 지정되는 것을 말합니다.
var month = "October"
var year = 2020
위 코드를 보면 타입을 지정하지 않았죠??
Swift는 컴파일 하는 과정에서 타입을 지정해 주지 않아도 초기값을 보고 자동으로 타입을 지정해 줍니다.
변수는 선언과 초기화를 동시에 할 수도 있지만, 선언만 먼저 해놓고 초기화를 분리하여 작성할 수도 있습니다.
상수는 선언과 초기화가 상수를 호출하기 전에 이루어져 합니다.
그럼 왜 타입 추론을 사용하는 걸까요?
이유는 단순합니다. 타입 추론을 사용하면 코드가 단순해지기 때문입니다.
var month = "October" // 선언과 초기화를 동시에
var year: Int // 선언
year = 2020 // 초기화
let name = "Kim"
2. Type Annotation
그럼 이번에는 타입 지정에 대해서 알아보도록 하겠습니다.
타입 지정은 변수나 상수를 선언할 때 그 타입을 명시적으로 선언해 줌으로써 어떤 타입의 값이 저장될 것인지를 컴파일러에 직접 알려주는 문법입니다.
변수, 상수 이름 뒤에 콜론( : )을 붙이고, 이어서 저장될 값의 타입을 작성하면 됩니다.
그렇다면 타입 추론의 기능이 있는데 왜 타입 지정을 왜 사용하는 걸까요??
타입 지정은 내가 원하는 타입으로 저장하고, 처리하고 싶을 때 사용합니다.
var name: String = "홍길동"
var age: Int = 30
3. Type Conversion
Swift에서는 서로 다른 타입의 변수나 상수끼리의 결합 연산은 허용되지 않습니다.
그렇다면 서로 다른 타입끼리의 결합은 불가능한 걸까요?
이럴 때 형 변환을 사용하면 다른 타입끼리의 결합을 할 수 있게 됩니다.
형 변환은 다른 타입의 값을 자신의 타입에 맞게 변환하여 새로운 객체를 만드는 작업입니다.
var str = "내 몸무게는 "
var weight = 70
var result = str + String(weight) // 내 몸무게는 70
var strA = "123"
var num = 123
strA + String(num) // 123123
오늘은 타입 추론과 지정, 형 변환에 대해서 알아보았습니다.
다음은 연산자에 대해서 알아보도록 하겠습니다.
읽어주셔서 감사합니다:)