[swift] Swift에서 Type Inference를 사용한 타입 확인

Swift는 강력한 타입 시스템을 가지고 있으며, 변수나 상수를 선언할 때 명시적으로 타입을 지정하지 않아도 대부분의 경우 컴파일러가 타입을 추론할 수 있습니다. 이러한 기능을 Type Inference라고 합니다.

Type Inference를 사용하면 코드를 간결하고 가독성있게 유지할 수 있습니다. 그러나 때로는 변수나 상수의 타입을 명시적으로 지정하는 것이 좋을 때도 있습니다. 이번 포스트에서는 Swift에서 Type Inference를 사용하여 변수의 타입을 확인하는 방법을 알아보겠습니다.

변수의 타입 확인하기

Swift에서 변수의 타입을 확인하는 가장 간단한 방법은 type(of:) 함수를 사용하는 것입니다. 이 함수는 인자로 전달된 객체의 타입을 알려줍니다. 다음은 type(of:) 함수를 사용하여 변수의 타입을 확인하는 예제입니다.

let name = "John" // Type Inference를 통해 String 타입으로 추론됨
let age = 25 // Type Inference를 통해 Int 타입으로 추론됨

print("name의 타입:", type(of: name)) // String
print("age의 타입:", type(of: age)) // Int

위 예제에서는 name 변수가 String 타입으로 추론되고, age 변수가 Int 타입으로 추론됩니다. type(of:) 함수를 사용하여 변수의 타입을 확인한 결과도 출력됩니다.

명시적인 타입 지정하기

Type Inference를 사용하여 타입을 추론하는 것은 편리하지만, 때로는 명시적으로 타입을 지정하는 것이 필요할 수 있습니다. 이는 코드의 가독성을 높이고 다른 개발자가 코드를 이해하기 쉽게 만들 수 있습니다.

다음은 명시적으로 타입을 지정하는 예제입니다.

let height: Double = 175.5 // Double 타입 명시적 지정

var count = 10 // Type Inference를 통해 Int 타입으로 추론됨
count = 20.5 // 오류: count는 Int 타입인데 Double 값을 할당하려고 시도함

위 예제에서는 height 변수를 Double 타입으로 명시적으로 지정하였습니다. 이렇게 하면 코드를 읽는 사람이 변수의 의미와 타입을 명확하게 이해할 수 있습니다.

count 변수는 초기값으로 Int 타입을 가지고 있지만, 이후에 Double 값을 할당하려고 시도하면 오류가 발생합니다. 이런 경우에도 명시적인 타입 지정이 문제를 사전에 발견할 수 있도록 도움을 줍니다.

결론

Swift에서는 Type Inference를 통해 변수나 상수의 타입을 추론할 수 있습니다. 이를 이용하면 코드를 간결하고 가독성있게 유지할 수 있습니다. 그러나 때로는 명시적으로 타입을 지정하는 것이 필요할 수 있습니다. 명시적인 타입 지정은 코드의 가독성을 높이고 다른 개발자와의 협업을 원활하게 만들어 줍니다.