λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

swift λ¬Έλ²•πŸ–€

(36)
[SWIFT] μƒμ„±μž 1️⃣ꡬ쑰체 μƒμ„±μž - μ—¬λŸ¬κ°œμ˜ μ§€μ • μƒμ„±μžλ₯Ό κ΅¬ν˜„ - μ˜€λ²„λ‘œλ”© 지원 2οΈβƒ£ν΄λž˜μŠ€ μƒμ„±μž πŸ“μ§€μ •μƒμ„±μž(designated) (class, struct, enum) - init(..)ν˜•νƒœ - λͺ¨λ“  μ €μž₯ 속성을 μ΄ˆκΈ°ν™” 해야함 (μ˜΅μ…”λ„ κ°€λŠ₯) - λ°˜λ“œμ‹œ μž¬μ •μ˜ν•΄μ•Όν•¨ πŸ“νŽΈμ˜μƒμ„±μž(convenience) (only class) - λͺ¨λ“  μ €μž₯ 속성을 μ΄ˆκΈ°ν™” ν•  ν•„μš”κ°€ μ—†μŒ - κ°œλ°œμžκ°€ νŽΈλ¦¬ν•˜κ²Œ 객체λ₯Ό λ§Œλ“€μ–΄ λ‚Ό 수 μžˆλ„λ‘ ν•΄μ£ΌλŠ” μž₯치 - μ €μž₯μ†μ„±μ˜ 기본값을 μ„€μ •ν•  수 μžˆλ‹€ (λͺ¨λ“  μ €μž₯ 속성을 μ„€μ •ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€) - 상속이 λ˜μ§€ μ•ŠλŠ”λ‹€ 편의 μƒμ„±μžλ‘œ λ§Œλ“œλŠ” 것이 λ³΅μž‘λ„λ‚˜ μ‹€μˆ˜λ₯Ό 쀄일 수 μžˆλ‹€ κ°€λŠ₯ν•œ μ§€μ •μƒμ„±μžμ˜ 갯수λ₯Ό 쀄이고, νŽΈμ˜μƒμ„±μžμ—μ„œ μ§€μ •μƒμ„±μžλ₯Ό ν˜ΈμΆœν•˜λ„λ‘ ν•˜λŠ” 것이 μ’‹λ‹€ μƒμ„±μžμ˜ 상속 - μƒμ„±μžλŠ” λͺ¨λ“  ..
[SWIFT] μ΄ˆκΈ°ν™” μ΄ˆκΈ°ν™” ? βž•μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜λŠ” κ³Όμ • βž•μ €μž₯속성에 λŒ€ν•œ μ΄ˆκΈ°κ°’μ„ μ„€μ •ν•΄μ„œ μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©κ°€λŠ₯ν•œ μƒνƒœλ‘œ λ§Œλ“œλŠ” 것 방법 ? βž•μ €μž₯μ†μ„±μ˜ μ„ μ–Έκ³Ό λ™μ‹œμ— 값을 μ €μž₯ βž•μ €μž₯속성을 μ˜΅μ…”λ„λ‘œ μ„ μ–Έ (var둜 선언해야함) βž•μƒμ„±μžμ—μ„œ 값을 μ΄ˆκΈ°ν™” μ»΄νŒŒμΌλŸ¬λŠ” κΈ°λ³Έ μƒμ„±μžλ₯Ό μžλ™μœΌλ‘œ 생성함 κ΅¬μ‘°μ²΄λŠ” μ €μž₯속성이 기본값이 μžˆλ”λΌλ„ μΆ”κ°€μ μœΌλ‘œ Memberwise μ΄λ‹ˆμ…œλΌμ΄μ €λ₯Ό μžλ™μœΌλ‘œ μ œκ³΅ν•¨ β“λ©€λ²„μ™€μ΄μ¦ˆ μ΄λ‹ˆμ…œλΌμ΄μ € ❓ - 멀버와 κ΄€λ ¨λœ μƒμ„±μž - λͺ¨λ“  μ €μž₯ 속성 κ°€λŠ₯ν•œ μƒμ„±μž
[SWIFT] 클래슀의 상속 상속? λΆ€λͺ¨ν΄λž˜μŠ€μ˜ 멀버(속성, λ©”μ†Œλ“œ)λ₯Ό μ‚¬μš©ν•  수 있게 λ§Œλ“œλŠ” 문법 μž¬μ •μ˜ (overrriding) ? λΆ€λͺ¨ν΄λž˜μŠ€μ— μžˆλŠ” 속성 및 λ©”μ†Œλ“œλ₯Ό μž¬μ •μ˜ ν•˜λ €λ©΄ overriding ν‚€μ›Œλ“œ μ‚¬μš©ν•΄μ•Ό 함 μ €μž₯속성 βž•μ›μΉ™μ μœΌλ‘œ λΆˆκ°€λŠ₯ ( 고유의 λ©”λͺ¨λ¦¬ 곡간이 있기 λ•Œλ¬Έ) βž• λ©”μ†Œλ“œ ν˜•νƒœλ‘œ μΆ”κ°€λŠ” λ°©μ‹μ˜ μž¬μ •μ˜λŠ” κ°€λŠ₯ - κΈ°λŠ₯ μΆ•μ†ŒλŠ” λΆˆκ°€λŠ₯ (읽기/ μ“°κΈ°μ—μ„œ -> 읽기 λΆˆκ°€λŠ₯) βž• μ†μ„±κ°μ‹œμžλ₯Ό μΆ”κ°€ κ°€λŠ₯ 계산속성 βž•μ‹€μ§ˆμ  λ©”μ†Œλ“œμž„ βž•λ©”μ†Œλ“œ ν˜•νƒœλ‘œμ˜ μž¬μ •μ˜ κ°€λŠ₯ - κΈ°λŠ₯ μΆ•μ†ŒλŠ” λΆˆκ°€λŠ₯ μƒμ„±μž βž• μƒμ†λ˜μ§€ μ•Šκ³  μž¬μ •μ˜ν•˜λŠ” 것이 원칙 (μƒμ„±μžλŠ” λͺ¨λ“  μ €μž₯속성을 μ΄ˆκΈ°ν™”ν•˜κΈ° λ•Œλ¬Έμ— μ„œλΈŒν΄λž˜μŠ€μ— λŒ€ν•œ μ΅œμ ν™”κ°€ μ•ˆλ¨) λ©”λͺ¨λ¦¬ ꡬ쑰 ) μ €μž₯속성 πŸ“μ„œλΈŒν΄λž˜μŠ€μ˜ μ €μž₯속성은 μƒμœ„ μ €μž₯속성을 μ°Έμ‘°ν•˜κ³  μžˆκΈ°λ•Œλ¬Έμ— μž¬μ •μ˜λŠ” λΆˆκ°€λŠ₯ν•˜κ³  데이..
[SWIFT] μ €μž₯속성 , 계산 속성 , νƒ€μž…μ†μ„± , μ†μ„±κ°μ‹œμž import UIKit import Foundation struct Human { // 1. μ €μž₯속성 // μ•„λž˜ μ½”λ“œμ—μ„œλŠ” 기본값이 μ„€μ • μ•ˆλ˜μ–΄μžˆμŒ var name : String var height : Double var weight : Double // 1.1 μ§€μ—°μ €μž₯속성 // μžμ—° μ €μž₯ μ†μ„±μœΌλ‘œ μ„ μ–Έλ˜λŠ” 속성이 λ‹€λ₯Έ μ €μž₯ 속성을 μ΄μš©ν•΄μ•Ό ν• λ–Ό // μ΄ˆκΈ°ν™” μ‹œμ μ΄ 더 λŠ¦μœΌλ―€λ‘œ, λ¨Όμ € μ΄ˆκΈ°ν™”λ˜λŠ” μ €μž₯ 속성을 μ‚¬μš© κ°€λŠ₯ lazy var bmi = weight * pow(height, 2) / 10000 // 2. 계산 속성 // μ†μ„±μ˜ ν˜•νƒœλ₯Ό κ°€μ§„ λ©”μ„œλ“œ (일반적으둜 λ‹€λ₯Έ μ €μž₯ 속성에 μ˜μ‘΄ν•œ 결과둜 λ‚˜μ˜€κΈ° λ–„λ¬Έ) var bmi2 : Double { // ν”„λ‘œκ·Έλž˜λ¨Έ μž…μž₯μ—μ„œ 값을 λ°›λŠ” 것 get{ retu..