π₯ Bread Basics/Swift32 Obj-C 곡μ λ¬Έμ μ 리 - κ°μ²΄, ν΄λμ€, λ©μμ§ Objective-C κΈ°μ΄: κ°μ²΄, ν΄λμ€, λ©μμ§ μ΄ν΄νκΈ°μλ νμΈμ! μ€λμ Objective-Cμ ν΅μ¬ κ°λ μΈ κ°μ²΄, ν΄λμ€, λ©μμ§μ λν΄ μμλ³΄κ² μ΅λλ€.π λ°νμ μμ€ν (Runtime System)Objective-Cλ κ°λ₯ν λ§μ κ²°μ μ μ»΄νμΌ μκ°μ΄λ λ§ν¬ μκ°μ΄ μλ λ°νμ μκ°μΌλ‘ λ―Έλ£Ήλλ€. κ°μ²΄ μμ±μ΄λ λ©μλ νΈμΆκ³Ό κ°μ μμ μ λμ μΌλ‘ μννλ κ²μ΄ νΉμ§μ λλ€.λ°νμ(Runtime): νλ‘κ·Έλ¨μ΄ μ€νλλ λμμ νκ²½. Objective-Cμμλ λ°νμ μμ€ν μ΄ μΈμ΄μ λμ νΉμ±μ μ§μν©λλ€.μ΄λ¬ν νΉμ± λλ¬Έμ Objective-Cλ μ»΄νμΌλ¬λΏλ§ μλλΌ μ»΄νμΌλ μ½λλ₯Ό μ€ννκΈ° μν λ°νμ μμ€ν λ νμν©λλ€. λ°νμ μμ€ν μ Objective-C μΈμ΄μ μΌμ’ μ μ΄μ체μ μν μ ν©λλ€.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - λ§€ν¬λ‘ (Macros) μλ νμΈμ! μ€λμ Swift 5.9μμ λμ λ 'λ§€ν¬λ‘(Macros)'μ λν΄ μμλ³΄κ² μ΅λλ€. λ§€ν¬λ‘λ₯Ό μ¬μ©νλ©΄ λ°λ³΅μ μΈ μ½λ μμ±μ μ€μ΄κ³ , μ»΄νμΌ μμ μ μ½λλ₯Ό μλ μμ±ν μ μμ΄ κ°λ° ν¨μ¨μ±κ³Ό μ½λ νμ§μ ν¬κ² ν₯μμν¬ μ μμ΅λλ€.π λ§€ν¬λ‘λ?λ§€ν¬λ‘λ μ»΄νμΌ μκ°μ μ½λλ₯Ό μμ±νλ λꡬλ‘, κ°λ°μκ° μ§μ μμ±ν΄μΌ ν λ°λ³΅μ μΈ μ½λλ₯Ό μλμΌλ‘ λ§λ€μ΄μ€λλ€. Swift μ»΄νμΌλ¬λ μ½λλ₯Ό λΉλνκΈ° μ μ λͺ¨λ λ§€ν¬λ‘λ₯Ό νμ₯ν©λλ€.λ§€ν¬λ‘μ μ£Όμ νΉμ§:νμ μ½λλ₯Ό μΆκ°λ§ νκ³ , κΈ°μ‘΄ μ½λλ₯Ό μμ νκ±°λ μμ νμ§ μμλ¬Έλ²μ μΌλ‘ μ ν¨ν Swift μ½λλ₯Ό μμ±νμ μμ μ± λ³΄μ₯λ§€ν¬λ‘ νμ₯ μ€ μ€λ₯ λ°μ μ μ»΄νμΌ μ€λ₯λ‘ μ²λ¦¬π λ§€ν¬λ‘μ μ’ λ₯Swiftλ λ κ°μ§ μ νμ λ§€ν¬λ‘λ₯Ό μ 곡ν©λλ€:1. λ 립 λ§€ν¬λ‘ (F.. 2025. 4. 11. Swift 곡μ λ¬Έμ μ 리 - λμμ± (Concurrency) μλ νμΈμ. μ€λμ Swiftμ λμμ±μ λν΄ μμλ³΄κ² μ΅λλ€. λμμ±μ Swift 5.5μμ λμ λ μ€μν κΈ°λ₯μΌλ‘, λΉλκΈ° μ½λλ₯Ό λ μμ νκ³ μ§κ΄μ μΌλ‘ μμ±ν μ μκ² ν΄μ€λλ€. 볡μ‘ν κ°λ μ΄μ§λ§ ν¨κ» μ°¨κ·Όμ°¨κ·Ό μ΄ν΄λ³΄λλ‘ νκ² μ΅λλ€!π λμμ±μ΄λ? (Understanding Concurrency)Swiftμμ λμμ±μ ν¬κ² λ κ°μ§ κ°λ μ ν¬ν¨ν©λλ€:λΉλκΈ°(Asynchronous) μ½λ: μ€ν μ€μ μΌμ μ€λ¨λμλ€κ° λμ€μ λ€μ μ¬κ°λ μ μλ μ½λμ λλ€. ν λ²μ νλ‘κ·Έλ¨μ ν λΆλΆλ§ μ€νλ©λλ€.λ³λ ¬(Parallel) μ½λ: μ¬λ¬ μμ μ΄ λμμ μ€νλ μ μλ μ½λμ λλ€. μλ₯Ό λ€μ΄, 4μ½μ΄ νλ‘μΈμλ 4κ°μ μμ μ λμμ μ€νν μ μμ΅λλ€.λμμ±μ μ΄μ : λ€νΈμν¬ μμ², νμΌ μ²λ¦¬μ κ°μ μκ°.. 2025. 4. 11. 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. μ΄μ 1 2 3 4 λ€μ