[swift] 데이터 타입을 활용한 타입 추론 기능

Swift는 강력한 타입 추론 기능을 제공하여 개발자가 명시적으로 데이터 타입을 지정하지 않아도 자동으로 타입을 추론할 수 있습니다. 이를 통해 코드의 가독성을 향상시키고 작성해야하는 코드의 양을 줄일 수 있습니다.

기본적인 타입 추론

Swift에서 변수나 상수를 선언할 때, 대입된 값에 따라 해당 변수나 상수의 타입을 추론합니다. 예를 들어, 다음과 같이 코드를 작성하면 Swift는 변수의 타입을 추론합니다.

let name = "John" // String 타입으로 추론
var age = 25 // Int 타입으로 추론

위의 코드에서는 “John”이라는 문자열이 대입되어 있으므로 name 변수의 타입이 String으로 추론됩니다. 마찬가지로 숫자 25가 대입되어 있으므로 age 변수의 타입은 Int로 추론됩니다.

함수 반환 타입 추론

Swift에서 함수를 선언할 때, 함수의 반환 타입을 명시적으로 선언하지 않아도 컴파일러가 해당 함수를 분석하여 반환 타입을 추론합니다. 예를 들어, 다음과 같이 함수를 작성하면 Swift는 반환 값의 타입을 추론합니다.

func addNumbers(a: Int, b: Int) -> Int {
    return a + b
}

위의 코드에서 addNumbers 함수는 Int 타입의 값을 반환하는데, 따로 반환 타입을 선언하지 않아도 Swift는 자동으로 Int 타입으로 추론합니다.

컬렉션 타입 추론

Swift에서 배열이나 딕셔너리와 같은 컬렉션 타입도 타입 추론이 가능합니다. 예를 들어, 다음과 같이 배열을 선언하면 Swift는 배열의 요소 타입을 추론합니다.

let fruits = ["apple", "banana", "orange"] // [String] 타입으로 추론

위의 코드에서 fruits 배열은 문자열로 이루어진 배열이므로, Swift는 해당 배열을 [String] 타입으로 추론합니다.

타입 어노테이션

만약 개발자가 명시적으로 타입을 지정하고 싶다면, 타입 어노테이션을 사용하여 변수나 상수의 타입을 명시할 수 있습니다. 예를 들어, 다음과 같이 코드를 작성하면 Swift는 변수의 타입을 명시적으로 지정합니다.

let score: Int = 80

위의 코드에서 score 변수의 타입을 명시적으로 Int로 지정하였습니다. 이렇게 명시적으로 타입을 지정하면 Swift는 해당 타입을 사용하게 됩니다.

타입 추론의 장점

Swift의 타입 추론 기능은 다음과 같은 장점을 가지고 있습니다.

Swift의 타입 추론 기능을 활용하여 코드를 작성하면, 보다 간결하고 가독성이 좋은 코드를 작성할 수 있습니다. 타입 추론은 Swift 개발에서 꼭 알아두어야 할 중요한 기능 중 하나입니다.

참고 문서: The Basics - Swift Language Guide