Swift

Type Inference & Annotation & Conversion

dion_K 2020. 10. 23. 00:05
728x90

안녕하세요;)

 

오늘은 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

 

 

오늘은 타입 추론과 지정, 형 변환에 대해서 알아보았습니다.

 

다음은 연산자에 대해서 알아보도록 하겠습니다.

 

읽어주셔서 감사합니다:)

 

 

728x90