[swift] 타입 추론

Swift는 정적 타입 언어로서 변수나 상수의 타입을 명시적으로 선언하지 않아도 자동으로 추론할 수 있는 기능을 제공합니다. 이를 타입 추론이라고 합니다. 타입 추론은 코드를 간결하게 만들어줄 뿐만 아니라, 실수를 줄여주고 개발 생산성을 향상시킵니다.

변수나 상수의 타입 추론

Swift에서 변수나 상수를 선언할 때, 초기값을 할당하면 타입 추론이 이루어집니다. 컴파일러는 초기값을 기반으로 변수나 상수의 타입을 결정합니다.

let name = "John" // name의 타입은 String으로 추론됨
var age = 30 // age의 타입은 Int로 추론됨

변수나 상수의 타입을 추론한 후에는 추론된 타입으로 값을 변경하거나 추가적으로 할당할 수 있습니다. 타입 추론은 초기값을 통해 이루어지기 때문에 변수나 상수를 선언할 때 반드시 초기값을 할당해야 합니다.

함수의 타입 추론

Swift에서 함수를 정의하거나 호출할 때도 타입 추론이 이루어집니다. 함수의 매개변수와 반환값의 타입을 명시적으로 선언하지 않아도 컴파일러가 자동으로 추론합니다.

func multiply(a: Int, b: Int) -> Int {
    return a * b
}

let result = multiply(a: 5, b: 3) // result의 타입은 Int로 추론됨

함수를 호출할 때에도 매개변수의 타입을 명시적으로 선언하지 않아도 됩니다.

타입 추론의 제한

타입 추론은 변수나 상수를 선언할 때 초기값을 필요로 하기 때문에, 초기값이 없을 경우 타입을 추론할 수 없습니다. 이 경우에는 변수나 상수의 타입을 명시적으로 선언해주어야 합니다.

let pi: Double = 3.14 // pi의 타입을 Double로 명시적으로 선언

타입 추론은 Swift의 강력한 기능 중 하나로, 개발자들에게 코드 작성의 편의성과 생산성을 제공합니다. 그러나 명시적인 타입 선언이 필요한 경우에는 적절하게 사용해야 합니다.

참고 자료