0Pricing
Swift Academy · 강의

타입 추론과 명시적 타입

Swift가 타입을 추론하는 방식과 타입을 명시적으로 선언해야 하는 경우를 알아봅니다.

타입 추론과 명시적 타입은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

환영합니다

스위프트는 *정적 타입 지정* 언어이므로 모든 값의 타입이 컴파일 시점에 정해집니다. 하지만 스위프트가 자동으로 추론하므로 타입을 직접 작성해야 하는 경우는 드뭅니다.

타입 추론이란 무엇인가요

스위프트는 오른쪽에 있는 값을 살펴보고 타입을 자동으로 추론합니다: ```swift let message = "Hello" // inferred as String let count = 42 // inferred as Int let price = 9.99 // inferred as Double ``` 타입 주석은 필요하지 않습니다. 컴파일러가 타입을 알아냅니다.

명시적 타입 주석

콜론을 사용하여 언제든 타입을 명시적으로 지정할 수 있습니다: ```swift let message: String = "Hello" let count: Int = 42 let price: Double = 9.99 ``` 추론된 타입이 원하는 타입과 다를 때 유용합니다.

추론이 잘못된 타입을 선택하는 경우

부동소수점 리터럴은 기본적으로 `Double`이 됩니다. `Float`가 필요하다면 명시적으로 주석을 작성합니다: ```swift let inferred = 3.14 // Double let explicit: Float = 3.14 // Float ``` 마찬가지로 정수 리터럴은 기본적으로 `Int`가 됩니다. `Int32`, `UInt8` 등이 필요하면 주석을 작성합니다.

실전에서의 타입 안전성

타입이 정해지면 변경할 수 없습니다: ```swift var score = 0 // Int score = "ten" // ❌ cannot assign String to Int ``` 타입 안전성은 실행 시점보다 훨씬 전에 컴파일 시점에 이런 종류의 오류를 찾아냅니다.

type(of:) 함수

`type(of:)`를 사용하여 실행 중인 타입을 확인합니다: ```swift let value = 42 print(type(of: value)) // Int let name = "Alice" print(type(of: name)) // String ``` 타입 추론으로 인해 예상하지 못한 결과가 나올 때 디버깅에 유용합니다.

타입 별칭

`typealias`는 가독성을 높이기 위해 기존 타입에 새 이름을 부여합니다: ```swift typealias Celsius = Double typealias UserID = Int var temperature: Celsius = 36.6 var userId: UserID = 1001 ``` 타입 별칭은 외형만 바꾸며, 기반 타입은 변경되지 않습니다.

초기화 없이 주석 작성하기

초기값 없이 변수를 선언할 때는 타입을 *반드시* 명시해야 합니다: ```swift var name: String // ✓ annotation required name = "Bob" var total: Int total = 0 ``` 값이 없으면 스위프트가 타입을 추론할 방법이 없습니다.

숫자 리터럴과 가독성

스위프트에서는 가독성을 위해 숫자 리터럴에 밑줄을 사용할 수 있습니다: ```swift let million = 1_000_000 let hex = 0xFF_EC_D3 let binary = 0b1111_0000 ``` 밑줄은 컴파일러가 무시하며 외형만을 위한 것입니다.

타입 변환 — 암시적 변환 없음

스위프트는 타입 간에 암시적으로 변환하지 않습니다. 명시적으로 변환해야 합니다: ```swift let intVal: Int = 5 let dblVal: Double = Double(intVal) // explicit conversion let sum = Double(intVal) + 2.5 ``` 이렇게 하면 의도하지 않은 숫자 승격으로 발생하는 미묘한 오류를 방지할 수 있습니다.

빠른 확인

스위프트는 `let x = 3.14`에서 어떤 타입을 추론하나요?

복습

핵심 내용: • 스위프트는 초기값에서 타입을 추론하므로 일반적으로 주석이 필요하지 않음 • 명시적 주석(`: Type`)은 추론보다 우선함 • 부동소수점은 기본적으로 `Double`, 정수는 `Int`가 됨 • 암시적 변환은 없음 — `Int()`, `Double()` 등을 사용 • `type(of:)`는 실행 중인 타입을 보여 줌 다음 내용: 핵심 타입인 숫자, Bool, Character입니다.

자주 묻는 질문

“타입 추론과 명시적 타입” 강의는 무료인가요?

네 — “타입 추론과 명시적 타입” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“타입 추론과 명시적 타입”에서 뭘 배우나요?

Swift가 타입을 추론하는 방식과 타입을 명시적으로 선언해야 하는 경우를 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“타입 추론과 명시적 타입” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. let과 var: 상수 및 변수
  2. 타입 추론과 명시적 타입
  3. 숫자, 불리언 및 문자
  4. 문자열의 기초와 보간
← Swift Academy(으)로 돌아가기