iOS/Swift

[ Swift ] 쀑첩 νƒ€μž…

Sheep1sik 2025. 3. 13. 10:31
λ°˜μ‘ν˜•

πŸ“ μ€‘μ²©λœ νƒ€μž…μ€ ν•˜λ‚˜μ˜ νƒ€μž… μ•ˆμ— λ‹€λ₯Έ νƒ€μž…μ„ μ •μ˜ν•˜λŠ” 것을 μ˜λ―Έν•œλ‹€.

  • ꡬ쑰적으둜 λ³΅μž‘ν•œ ν΄λž˜μŠ€λ‚˜ ꡬ쑰체 등을 더 쑰직적으둜 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.
  • class, struct, enum λ“±μ—μ„œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • μ€‘μ²©λœ νƒ€μž…μ„ μ‚¬μš©ν•˜λ©΄ μ½”λ“œμ˜ 가독성을 높이고, νƒ€μž… κ°„μ˜ 연관성을 λͺ…ν™•νžˆ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  • νƒ€μž…μ˜ 블둝 μ•ˆμ—μ„œ λ‹€λ₯Έ νƒ€μž…μ„ μ •μ˜ν•˜κ³  μ‚¬μš©ν•˜λŠ” λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ν•©λ‹ˆλ‹€.
struct Car {
    struct Company { // Car μ•ˆμ— μ€‘μ²©λœ Company ꡬ쑰체
        var name: String
        var phoneNumber: String
        
        func contact() {
            print("\(name) νšŒμ‚¬μ˜ A/S μ„Όν„° λ²ˆν˜ΈλŠ” \(phoneNumber)μž…λ‹ˆλ‹€.")
        }
    }
    
    enum Model {
        case sedan
        case hatchback
        case suv
    }
    
    var model: Model
    var company: Company
    var name: String
    var color: String
}


let myCar = Car(model: .sedan, 
                company: Car.Company(name: "_GGDol", phoneNumber: "010-1234-5678"),
//                company: .init(name: "_GGDol", phoneNumber: "010-1234-5678"), // .init을 ν•΄μ„œ λ§Œλ“€μ–΄λ„ λ©λ‹ˆλ‹€.
                name: "뢕뢕이",
                color: "Black")


myCar.company.contact() // myCar의 company ν”„λ‘œνΌν‹°μ˜ contact ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•©λ‹ˆλ‹€.
												
print(myCar.model) // myCal의 model ν”„λ‘œνΌν‹°λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

 

λ°˜μ‘ν˜•