ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Swift] λ³€μˆ˜μ™€ μƒμˆ˜ (Variables and Constants)
    Swift 2022. 2. 7. 21:45

    (λͺ¨λ“  μ½”λ“œλŠ” Playgroundμ—μ„œ μž‘μ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.)

     

    ν”„λ‘œκ·Έλž¨μ—μ„œ 데이터λ₯Ό μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄μ„œλŠ” λ©”λͺ¨λ¦¬μ— 값을 μ €μž₯ν•΄μ•Όν•˜λŠ”λ°, 이 λ•Œ ν•„μš”ν•œ 것이 λ³€μˆ˜μ™€ μƒμˆ˜μ΄λ‹€.

    SwiftλŠ” ν•¨μˆ˜ν˜• ν”„λ‘œκ·Έλž˜λ° νŒ¨λŸ¬λ‹€μž„μ„ μ±„μš©ν•œ 언어인데, λΆˆλ³€ 객체λ₯Ό μ€‘μš”μ‹œν•˜κΈ° λ•Œλ¬Έμ— μƒμˆ˜λ₯Ό 많이 μ‚¬μš©ν•œλ‹€.

     

    λ³€μˆ˜ (Variable)

    • λ³€μˆ˜λŠ” λ³€ν•  수 있고, μ΄ˆκΈ°ν™” 후에 변경이 κ°€λŠ₯ν•˜λ‹€.
    • Swiftμ—μ„œ λ³€μˆ˜λ₯Ό μ„ μ–Έν•  λ•Œμ—λŠ” var ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
    • var λ³€μˆ˜μ΄λ¦„ = μ΄ˆκΈ°ν™”ν•  κ°’ λ˜λŠ” var λ³€μˆ˜μ΄λ¦„ : λ°μ΄ν„°νƒ€μž… = μ΄ˆκΈ°ν™”ν•  κ°’ μœΌλ‘œ μ„ μ–Έν•œλ‹€.
    var myName = "happy" // λ¬Έμžμ—΄ μ €μž₯
    var thisYear = 2022 // μ •μˆ˜ μ €μž₯
    var isValid = true // Boolean μ €μž₯
    var x = 1.0, y = 1.0, z = 1.0 // λ³€μˆ˜ μ—¬λŸ¬ 개λ₯Ό μ—°μ†μœΌλ‘œ μ„ μ–Έν•˜κΈ°
    
    myName // ν‘œν˜„μ‹μœΌλ‘œ, λ³€μˆ˜λ₯Ό μ½μ–΄μ˜΄ 
    print(myName) // λ³€μˆ˜λ₯Ό 좜λ ₯ν•œλ‹€.
    
    myName = "spring" // 이미 μ„ μ–Έλœ λ³€μˆ˜μ— μƒˆλ‘œμš΄ 값을 λ³€κ²½ν•˜μ—¬ μ €μž₯이 κ°€λŠ₯ν•˜λ‹€ -> λ³€μˆ˜μ˜ νŠΉμ§•
    // var myName = "summer" // μ—λŸ¬ λ°œμƒ -> μž¬μ„ μ–Έμ€ λΆˆκ°€λŠ₯.
    
    myName = "summer"
    print(myName) // λ³€μˆ˜μ— κ°€μž₯ λ§ˆμ§€λ§‰μ— μ €μž₯된 값인 summerκ°€ 좜λ ₯λœλ‹€.
    
    var yourName = myName
    yourName = "fall"
    print(myName, yourName) // summer, fall이 좜λ ₯λœλ‹€.
    
    // thisYear = "2021" // μ—λŸ¬ -> μ•žμ—μ„œ μ •μˆ˜λ₯Ό μ €μž₯ν–ˆκΈ° λ•Œλ¬Έμ—, λ¬Έμžμ—΄λ‘œ μ €μž₯을 ν•˜λ €κ³  ν•˜λ©΄ μ—λŸ¬κ°€ λ°œμƒν•œλ‹€.

     

    μƒμˆ˜ (Constant)

    • μƒμˆ˜λŠ” λ³€ν•  수 μ—†λ‹€. λ”°λΌμ„œ μ΄ˆκΈ°ν™” 후에도 변경이 λΆˆκ°€λŠ₯ν•˜λ‹€.
    • Swiftμ—μ„œλŠ” μƒμˆ˜λ₯Ό μ„ μ–Έν•  λ•Œμ—λŠ” let ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.
    • let μƒμˆ˜μ΄λ¦„ = μ΄ˆκΈ°ν™”ν•  κ°’ λ˜λŠ” let μƒμˆ˜μ΄λ¦„ : λ°μ΄ν„°νƒ€μž… = μ΄ˆκΈ°ν™”ν•  κ°’ μœΌλ‘œ μ„ μ–Έν•œλ‹€.
    let myName = "happy"
    
    myName // μƒμˆ˜λ₯Ό 읽을 수 μžˆλ‹€
    // myName = "spring" // μ—λŸ¬ -> μƒμˆ˜μ΄λ―€λ‘œ μ΄ˆκΈ°ν™” 후에 값을 λ³€κ²½ν•  수 μ—†λ‹€.

     

    λ³€μˆ˜ (Variable) vs μƒμˆ˜ (Constant)

    • λ³€μˆ˜μ™€ μƒμˆ˜ λͺ¨λ‘ μ΄ˆκΈ°ν™” 후에 μ‚¬μš©μ΄ κ°€λŠ₯ν•˜λ‹€. ν•˜μ§€λ§Œ λ³€μˆ˜λŠ” μ΄ˆκΈ°ν™” 후에 변경이 κ°€λŠ₯ν•œ λ°˜λ©΄μ—, μƒμˆ˜λŠ” μ΄ˆκΈ°ν™” 후에 변경이 λΆˆκ°€λŠ₯ν•˜λ‹€.
    • μƒμˆ˜μ™€ λ³€μˆ˜ λͺ¨λ‘ μ„ μ–Έλ§Œ ν•˜κ³  λ‚˜μ€‘μ— 값을 ν• λ‹Ήν•˜λ €λ©΄, λ°˜λ“œμ‹œ νƒ€μž…μ„ λͺ…μ‹œν•΄μ£Όμ–΄μ•Όν•œλ‹€. 특히 μƒμˆ˜λŠ” ν•œλ²ˆ 값을 ν• λ‹Ήν•˜λ©΄ 이후에 값을 λ³€κ²½ν•  수 μ—†λ‹€.
    • Swiftμ—μ„œλŠ” μ‹€μˆ˜λ‘œ 값을 λ³€κ²½ν•˜λŠ” 것을 λ°©μ§€ν•˜κΈ° μœ„ν•΄ 주둜 μƒμˆ˜λ₯Ό μ‚¬μš©ν•œλ‹€.
    • μƒμˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ»΄νŒŒμΌλŸ¬κ°€ λ³„λ„λ‘œ μ΅œμ ν™”λ₯Ό ν•˜κΈ° λ•Œλ¬Έμ—, μ½”λ“œκ°€ 더 λΉ λ₯΄κ²Œ μ‹€ν–‰λœλ‹€. 

     

    'Swift' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

    [Swift] Optional - 1 (Forced Unwrapping, Optional Binding)  (0) 2022.02.14
    [Swift] enumerated()  (0) 2022.02.08
    [Swift] μ§„μˆ˜ λ³€ν™˜  (0) 2022.02.02
    [Swift] init(_:radix:uppercase:)  (0) 2022.02.02
    [Swift] init(_:radix:)  (0) 2022.02.02

    λŒ“κΈ€

Designed by Tistory.