π₯ Bread Basics49 Swift 곡μ λ¬Έμ μ 리 - μλ¬ μ²λ¦¬ (Error Handling) μλ νμΈμ. μ€λμ Swift 'μλ¬ μ²λ¦¬(Error Handling)'μ λν΄ μμλ³΄κ² μ΅λλ€. μ€μ μ± κ°λ° μ λ°μνλ λ€μν μμΈ μν©μ μ΄λ»κ² μ²λ¦¬ν μ μλμ§, Swiftμ μλ¬ μ²λ¦¬ λ©μ»€λμ¦μ ν΅ν΄ μ΄ν΄λ³΄κ² μ΅λλ€.π μλ¬ μ²λ¦¬λ? (Introduction to Error Handling)μλ¬ μ²λ¦¬λ νλ‘κ·Έλ¨μ΄ μ€ν μ€μ λ°μνλ μμμΉ λͺ»ν μν©μ λμνκ³ λ³΅κ΅¬νλ νλ‘μΈμ€μ λλ€. Swiftλ λ°νμμ λ°μ κ°λ₯ν μλ¬λ₯Ό λμ§κ³ (throw), ν¬μ°©νκ³ (catch), μ ν(propagate)νλ κ°λ ₯ν λ©μ»€λμ¦μ μ 곡ν©λλ€.μ΅μ λμ΄ κ°μ λΆμ¬λ₯Ό νννλ λ°©λ²μ΄λΌλ©΄, μλ¬ μ²λ¦¬λ 'μ' μμ μ΄ μ€ν¨νλμ§μ λν μ 보κΉμ§ μ 곡ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ½λλ μν©μ λ§κ² λ μ μ νκ² λμν μ μμ΅λλ€... 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μ΅μ λ 체μ΄λ (Optional Chaining) μλ νμΈμ. μ€λμ Swiftμ 'μ΅μ λ 체μ΄λ(Optional Chaining)'μ λν΄ μμλ³΄κ² μ΅λλ€. π μ΅μ λ 체μ΄λμ΄λ?μ΅μ λ 체μ΄λμ νμ¬ nilμΌ μλ μλ μ΅μ λ κ°μ νλ‘νΌν°, λ©μλ, μλΈμ€ν¬λ¦½νΈμ μμ νκ² μ κ·Όνλ νλ‘μΈμ€μ λλ€. μ΅μ λ κ°μ΄ μ€μ κ°μ κ°μ§κ³ μμΌλ©΄ νΈμΆμ΄ μ±κ³΅νμ§λ§, nilμ΄λ©΄ μ 체 ννμμ nilμ λ°νν©λλ€.μ΅μ λ 체μ΄λ(Optional Chaining): μ¬λ¬ μ΅μ λ κ°μ μ°κ²°ν΄μ μ κ·Όν λ, μ€κ°μ νλλΌλ nilμ΄λ©΄ μμ νκ² μ€ν¨νλ μ κ·Ό λ°©μπ κ°μ μΈλν λμ μ΅μ λ 체μ΄λ μ¬μ©νκΈ°μ΅μ λ 체μ΄λμ κ°μ μΈλνμ μμ ν λμμ λλ€. κ°μ μΈλν(!)μ μ΅μ λμ΄ nilμΌ κ²½μ° λ°νμ μ€λ₯λ₯Ό λ°μμν€μ§λ§, μ΅μ λ 체μ΄λ(?)μ λ¨μν nilμ λ°νν©λλ€... 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μ΄κΈ°ν ν΄μ (Deinitialization) μλ νμΈμ. μ΄μ ν¬μ€ν μμ Swiftμ μ΄κΈ°ν(Initialization)μ λν΄ μμ보μλλ°μ, μ€λμ κ·Έ λ°λνΈμ μλ 'μ΄κΈ°ν ν΄μ (Deinitialization)'μ λν΄ μμλ³΄κ² μ΅λλ€. κ°μ²΄μ μλͺ μ£ΌκΈ° λμμ μ€μν μν μ νλ μ΄ κ°λ μ μ΄ν΄νλ©΄ Swiftμ λ©λͺ¨λ¦¬ κ΄λ¦¬λ₯Ό λ ν¨κ³Όμ μΌλ‘ ν μ μμ΅λλ€.π μ΄κΈ°ν ν΄μ λ? (What is Deinitialization?)μ΄κΈ°ν ν΄μ λ ν΄λμ€ μΈμ€ν΄μ€κ° λ©λͺ¨λ¦¬μμ ν΄μ λκΈ° μ§μ μ μνλλ μ 리 μμ μ λλ€. Swiftμμλ deinit ν€μλλ₯Ό μ¬μ©νμ¬ μ΄ νΉλ³ν λ©μλλ₯Ό μ μν©λλ€.deinit { // μ 리 μμ μν}μ΄κΈ°ν ν΄μ ꡬ문(Deinitializer): μΈμ€ν΄μ€κ° λ©λͺ¨λ¦¬μμ ν΄μ λκΈ° μ§μ μ μλμΌλ‘ νΈμΆλλ νΉλ³ν λ©μλλ‘, .. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μ΄κΈ°ν (Initialization) μλ νμΈμ. μ€λμ Swift 'μ΄κΈ°ν(Initialization)'μ λν΄ μμλ³΄κ² μ΅λλ€. μ΄κΈ°νλ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμ μΈμ€ν΄μ€λ₯Ό μ¬μ© κ°λ₯ν μνλ‘ μ€λΉνλ κ³Όμ μΌλ‘, Swiftμ νμ μμ μ±κ³Ό κ°μ²΄ μ§ν₯ μ€κ³μ ν΅μ¬μ λλ€.π μ΄κΈ°νλ? (Initialization)μ΄κΈ°νλ μλ‘μ΄ μΈμ€ν΄μ€κ° μ¬μ©λκΈ° μ μ νμν μ€λΉ κ³Όμ μ μνν©λλ€. μ΄ κ³Όμ μμλ:λͺ¨λ μ μ₯ νλ‘νΌν°μ μ΄κΈ°κ° μ€μ κΈ°ν μ€μ λ° μ€λΉ μμ μνSwiftμμλ init ν€μλλ₯Ό μ¬μ©νμ¬ μ΄κΈ°ν ꡬ문(initializer)μ μ μν©λλ€:struct Fahrenheit { var temperature: Double init() { temperature = 32.0 // λ¬Όμ΄ μΌμ΄λ²λ¦¬λ νμ¨ μ¨λ .. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μμ (Inheritance) μλ νμΈμ. μ€λμ Swift 'μμ(Inheritance)'μ λν΄ μμλ³΄κ² μ΅λλ€. κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ μ€μν νΉμ±μΈ μμμ΄ Swiftμμλ μ΄λ»κ² ꡬνλλμ§, λ€μν μμ μ ν¨κ» μ΄ν΄λ³΄κ² μ΅λλ€.π μμμ΄λ? (Inheritance)μμμ ν ν΄λμ€κ° λ€λ₯Έ ν΄λμ€μ λ©μλ, νλ‘νΌν°, κ·Έλ¦¬κ³ λ€λ₯Έ νΉμ±μ λ¬Όλ €λ°λ κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°μ ν΅μ¬ κ°λ μ λλ€. Swiftμμ μμμ ν΄λμ€μμλ§ κ°λ₯ν νΉλ³ν κΈ°λ₯μΌλ‘, μμμ λ°λ ν΄λμ€λ₯Ό νμ ν΄λμ€(subclass), μμμ μ 곡νλ ν΄λμ€λ₯Ό μμ ν΄λμ€(superclass)λΌκ³ ν©λλ€.μμ(Inheritance): κΈ°μ‘΄ ν΄λμ€μ νΉμ±(νλ‘νΌν°, λ©μλ λ±)μ μ ν΄λμ€κ° λ¬Όλ €λ°λ κ²νμ ν΄λμ€(Subclass): λ€λ₯Έ ν΄λμ€μμ μμλ°λ ν΄λμ€μμ ν΄λ.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μλΈ μ€ν¬λ¦½νΈ (Subscripts) μλ νμΈμ. μ€λμ Swiftμ 'μλΈμ€ν¬λ¦½νΈ(Subscripts)'μ λν΄ μμλ³΄κ² μ΅λλ€. λ°°μ΄μ΄λ λμ λ리 κ°μ 컬λ μ μμμ μ κ·Όν λ λ§μ΄ μ¬μ©νλ κΈ°λ₯μΈλ°μ, μ€μ λ‘ μ΄ κΈ°λ₯μ μ§μ ꡬννλ λ°©λ²μ λν΄ μμΈν μ΄ν΄λ³΄κ² μ΅λλ€.π μλΈμ€ν¬λ¦½νΈλ?μλΈμ€ν¬λ¦½νΈλ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμμ 컬λ μ , 리μ€νΈ, μνμ€μ μμμ κ°νΈνκ² μ κ·Όν μ μκ² ν΄μ£Όλ νΉλ³ν κΈ°λ₯μ λλ€. λ°°μ΄μμ array[index]λ λμ λ리μμ dictionary[key]μ²λΌ λκ΄νΈλ₯Ό μ¬μ©ν΄ μμμ μ κ·Όνλ κ²μ΄ λ°λ‘ μλΈμ€ν¬λ¦½νΈλ₯Ό μ¬μ©νλ μμ λλ€.μλΈμ€ν¬λ¦½νΈ(Subscript): λ³λμ λ©μλ μμ΄ μΈλ±μ€λ ν€λ₯Ό ν΅ν΄ 컬λ μ μ μμμ μ κ·Όν μ μκ² ν΄μ£Όλ νΉλ³ν λ¬Έλ²π μλΈμ€ν¬λ¦½νΈ ꡬ문 (Subscript Synta.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - λ©μλ (Methods) μλ νμΈμ. μ€λμ Swiftμ 'λ©μλ'μ λν΄ μμλ³΄κ² μ΅λλ€. λ©μλλ νΉμ νμ κ³Ό μ°κ΄λ ν¨μλ‘, Swiftμμλ ν΄λμ€λΏλ§ μλλΌ κ΅¬μ‘°μ²΄μ μ΄κ±°νμμλ λ©μλλ₯Ό μ μν μ μλ€λ νΉμ§μ΄ μμ΅λλ€.π λ©μλλ?λ©μλ(Method)λ νΉμ νμ (ν΄λμ€, ꡬ쑰체, μ΄κ±°ν)μ μ°κ΄λ ν¨μμ λλ€. λ©μλλ ν¬κ² λ κ°μ§λ‘ λλ μ μμ΅λλ€:μΈμ€ν΄μ€ λ©μλ: νΉμ νμ μ μΈμ€ν΄μ€μ μνλ λ©μλνμ λ©μλ: νμ μ체μ μνλ λ©μλ (λ€λ₯Έ μΈμ΄μ 'μ μ /ν΄λμ€ λ©μλ'μ μ μ¬)Swiftμ λ©μλ ꡬν λ₯λ ₯μ Cλ Objective-Cμ λΉκ΅νμ λ ν° μ°¨μ΄μ μ€ νλμ λλ€. Objective-Cμμλ ν΄λμ€λ§ λ©μλλ₯Ό κ°μ§ μ μμμ§λ§, Swiftμμλ ν΄λμ€, ꡬ쑰체, μ΄κ±°ν λͺ¨λ λ©μλλ₯Ό κ°μ§ μ μ.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - νλ‘νΌν° (Properties) μλ νμΈμ. μ§λ ν¬μ€ν μ μ΄μ΄ μ€λμ **νλ‘νΌν°(Properties)**μ λν΄ μμλ³΄κ² μ΅λλ€. νλ‘νΌν°λ ν΄λμ€, ꡬ쑰체, μ΄κ±°νμμ κ°μ μ μ₯νκ³ κ³μ°νλ λ°©λ²μ μ 곡νλ Swiftμ μ€μν κ΅¬μ± μμμ λλ€.π νλ‘νΌν°λ?νλ‘νΌν°λ νΉμ ν΄λμ€, ꡬ쑰체, λλ μ΄κ±°νκ³Ό μ°κ²°λ κ°μ λλ€. Swiftμμλ λ€μν μ’ λ₯μ νλ‘νΌν°λ₯Ό μ§μν©λλ€:μ μ₯λ νλ‘νΌν°(Stored Properties): μΈμ€ν΄μ€μ μΌλΆλ‘ κ°μ μ μ₯κ³μ°λ νλ‘νΌν°(Computed Properties): κ°μ μ μ₯νμ§ μκ³ κ³μ°νμ νλ‘νΌν°(Type Properties): νμ μ체μ μνλ νλ‘νΌν°νλ‘νΌν° κ΄μ°°μ(Property Observers): νλ‘νΌν° κ° λ³νλ₯Ό κ΄μ°°νλ‘νΌν° λνΌ(Property Wrappers): νλ‘νΌ.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - ꡬ쑰체μ ν΄λμ€ (Structures and Classes) μλ νμΈμ. μ΄λ² ν¬μ€νΈμμλ ꡬ쑰체(Structures)μ ν΄λμ€(Classes)μ λν΄ μμλ³΄κ² μ΅λλ€. κ°μ²΄ μ§ν₯ νλ‘κ·Έλλ°μ κΈ°λ³Έμ΄ λλ μ΄ κ°λ λ€μ Swiftμμ μ΄λ»κ² ꡬνλλμ§, μ΄λ€ νΉμ§μ΄ μλμ§ ν¨κ» μ΄ν΄λ΄ μλ€.π ꡬ쑰체μ ν΄λμ€λ?ꡬ쑰체μ ν΄λμ€λ νλ‘κ·Έλ¨ μ½λμ κ΅¬μ± μμκ° λλ λ²μ©μ μ΄κ³ μ μ°ν ꡬ쑰μ λλ€. λ ꡬ쑰 λͺ¨λ λ°μ΄ν°λ₯Ό μΊ‘μννκ³ κΈ°λ₯μ μ 곡νλ μ¬μ©μ μ μ νμ μ λͺ¨λΈλ§νλ λ° μ¬μ©λ©λλ€.μΊ‘μν(Encapsulation): κ΄λ ¨λ λ°μ΄ν°μ κΈ°λ₯μ νλμ λ¨μλ‘ λ¬Άλ νλ‘κ·Έλλ° κΈ°λ²Swiftμμλ λ€λ₯Έ μΈμ΄μ λ¬λ¦¬ ꡬ쑰체μ ν΄λμ€λ₯Ό μ μν λ λ³λμ μΈν°νμ΄μ€ νμΌκ³Ό ꡬν νμΌμ λ§λ€ νμκ° μμ΅λλ€. λ¨μΌ νμΌμ λͺ¨λ μ μκ° μ΄λ£¨μ΄μ§λλ€.π ꡬ쑰체μ ν΄λμ€μ 곡ν΅μ Sw.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - μ΄κ±°ν (Enumerations) μλ νμΈμ. μ΄λ²μλ μ΄κ±°ν(Enumeration)μ λν΄ μμλ³΄κ² μ΅λλ€.π μ΄κ±°νμ΄λ?**μ΄κ±°ν(Enumeration)**μ κ΄λ ¨λ κ°λ€μ κ·Έλ£Ήμ μν μ¬μ©μ μ μ νμ μΌλ‘, μ½λμμ νμ -μΈμ΄ν λ°©μμΌλ‘ μμ ν μ μκ² ν΄μ€λλ€.νμ -μΈμ΄ν: μ»΄νμΌλ¬κ° μ½λμ νμ μμ μ±μ κ²μ¬νμ¬ νμ λΆμΌμΉλ‘ μΈν μ€λ₯λ₯Ό λ°©μ§νλ νΉμ±CμΈμ΄μ μ΄κ±°νμ΄ λ¨μν μ μκ°μ μ΄λ¦μ λΆμ¬νλ κ²κ³Ό λ¬λ¦¬, Swiftμ μ΄κ±°νμ:μ μκ°μ κ°μ§ νμκ° μμλ¬Έμμ΄, λ¬Έμ, μ μ, λΆλμμμ λ± λ€μν νμ μ μμκ° μ¬μ© κ°λ₯μ°κ΄κ°(associated values)μ ν΅ν΄ κ° μΌμ΄μ€μ μΆκ° μ 보 μ μ₯ κ°λ₯λ©μλμ κ³μ°λ νλ‘νΌν°λ₯Ό κ°μ§ μ μμμ΄κΈ°ν ꡬ문과 νμ₯ κΈ°λ₯ μ 곡νλ‘ν μ½ μ€μ κ°λ₯π μ΄κ±°ν κΈ°λ³Έ ꡬ문// κΈ°λ³Έ μ΄κ±°ν .. 2025. 4. 11. μ΄μ 1 2 3 4 5 λ€μ