Type annotations(ํƒ€์ž… ์ถ”๋ก )

2022. 7. 12. 00:07ยทiOS/Swift ๋ฌธ๋ฒ•
๋ฐ˜์‘ํ˜•

๐Ÿง‘‍๐Ÿ’ป์ด๋ฒˆ Swift ์‹œ๊ฐ„์— ๋ฐฐ์›Œ๋ณผ ๊ฒƒ์€  ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป

  • Type annotations (ํƒ€์ž… ์ฃผ์„)

 


๋“ค์–ด๊ฐ€๊ธฐ ์ „์— 

Type annotations(ํƒ€์ž… ์ฃผ์„) ์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

 

ํƒ€์ž… ์ฃผ์„ ํ•˜๋ฉด ๊ฐ™์ด ๋”ฐ๋ผ์˜ค๋Š” ๋งค๋ฒˆ ๋น„๊ต๊ฐ€ ๋˜๋Š” ์นœ๊ตฌ๊ฐ€ ์žˆ๋Š”๋ฐ Type inference, ํƒ€์ž… ์ถ”๋ก ์ด๋‹ค. ํƒ€์ž… ์ถ”๋ก ์„ ์ดํ•ดํ•˜๋ฉด ํƒ€์ž… ์ฃผ์„์„ ํ›จ์”ฌ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. 

 

 

1. Type inference(ํƒ€์ž… ์ถ”๋ก )

 

๋ฐ”๋กœ ์˜ˆ์‹œ๋ฅผ ๋ณด์ž. 

 

let surname = "Lasso"
var score = 0

 

์ง€๊ธˆ ๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ์˜ˆ์‹œ์™€ ๊ฐ™์ด ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ–ˆ๋‹ค.

surname ์— ํ…์ŠคํŠธ๋ฅผ ํ• ๋‹นํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— surname์ด ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ์ถ”๋ก ํ•˜๊ณ , ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ score์— ์ •์ˆ˜๋ฅผ ํ• ๋‹นํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์ •์ˆ˜๋ผ๊ณ  ์ถ”๋ก ํ•œ๋‹ค. 

 

ํ•œ๋งˆ๋””๋กœ Type inference๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”๋ฅผ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. 

 

 

  • ์žฅ์ 

ํƒ€์ž… ์ถ”๋ก ์˜ ๊ฒฝ์šฐ ์ง์ ‘ ํƒ€์ž…์„ ๋ช…์‹œ ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์“ฐ๊ธฐ์— ๋งค์šฐ ๊ฐ„๋‹จํ•˜๋‹ค. ๋Œ€๋žต ๋ณด๊ธฐ์—๋„ ๊ฐ„๋‹จํ•ด ๋ณด์ธ๋‹ค. 

 

ํ•˜์ง€๋งŒ ํŽธํ•˜๊ธฐ๋งŒํ• ๊นŒ??

 

 

 

  • ๋‹จ์ 

1. ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํƒ€์ž…์œผ๋กœ ์ถ”๋ก ๋˜์ง€ ์•Š๋Š”๋‹ค. 

 

์˜ˆ๋ฅผ ๋“ค์–ด ์•ž์„œ ์ƒ์ˆ˜ score์— ์šฐ๋ฆฌ๋Š” 0์„ ํ• ๋‹นํ•ด์ฃผ์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๊ทธ๋Ÿผ 17.0์„ floatํ˜•์œผ๋กœ ๋„ฃ์–ด๋ณด์•˜๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํ™•์ธํ•ด๋ณด๋ฉด? 

 

float์ด ์•„๋‹Œ Doubleํ˜•์ด ์ž๋™์œผ๋กœ ์žกํžŒ๋‹ค..๐Ÿ™€๐Ÿ™€

๋ฌธ์ž์—ด๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ String์ด ์•„๋‹Œ charater๋กœ ๋„ฃ๊ณ  ์‹ถ์€๋ฐ String์œผ๋กœ ์žกํžŒ๋‹ค. 

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์• ๋งคํ•œ ๊ฒฝ์šฐ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ดˆ๊ธฐ๊ฐ’์„ ๋ณด๊ณ  ์ž๋ฃŒํ˜•์„ ๋น„๊ตํ•˜์—ฌ ๋” ํฐ ๋ฒ”์œ„์— ์žˆ๋Š” ์ž๋ฃŒํ˜•์„ ์ง€์ •ํ•ด๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค. 

๊ทธ๋ž˜์„œ ํ•„์š”ํ•œ ๊ฒƒ์ด ์ด๋ฒˆ ์‹œ๊ฐ„์— ๋ฐฐ์šฐ๋Š” Type annotations(ํƒ€์ž… ์ฃผ์„)์ด๋‹ค.

 

 

2. Type annotations(ํƒ€์ž… ์ฃผ์„)

 

์ด์ œ ๋ณธ๋ก ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ๊ทธ๋ž˜์„œ ํƒ€์ž… ์ฃผ์„์€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”๋ฐ?? ๋ฐ”๋กœ ๋ณด์ž!

let playerName: String = "Roy"

 

์œ„์˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ํƒ€์ž… ์ฃผ์„์€ ๋ง ๊ทธ๋Œ€๋กœ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ํƒ€์ž…์„ ๋ฐ”๋กœ ์ง€์ •ํ•ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค. 

๊ทœ์น™์€ ๋ณ€์ˆ˜ :  ์ž๋ฃŒํ˜•๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•œ๋‹ค. ์˜ˆ์‹œ์—์„œ๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ์ œ์‹œํ•˜์˜€์ง€๋งŒ ์•ˆ ํ•ด๋„ ์ƒ๊ด€์—†๋‹ค. 

 

 

 

  • ์žฅ์  

1. ํƒ€์ž… ์ถ”๋ก ๊ณผ๋Š” ๋ฐ˜๋Œ€๋กœ ์ดˆ๊ธฐ๊ฐ’์ด ์—†์ด๋„ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

2. ์›ํ•˜๋Š” ์ž๋ฃŒํ˜•์„ ์ง์ ‘ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๋‹จ์ ์€ ํฌ๊ฒŒ ์—†์–ด์„œ ์ƒ๋žตํ•˜์ž~

 

 

๊ทธ๋Ÿผ ์ด๋ฒˆ์—๋Š” ํƒ€์ž… ์ถ”๋ก ์—์„œ๋Š” ์›ํ•˜์ง€ ์•Š๋˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์™”์—ˆ๋˜ ๊ฒƒ์„ ํƒ€์ž… ์ฃผ์„์„ ์ด์šฉํ•ด์„œ ๋น„๊ต ๋ถ„์„ํ•ด๋ณด์ž!

 

 

 

์–ด๋–ค๊ฐ€ ์•ž์„œ score์˜ ๊ฒฝ์šฐ ํƒ€์ž… ์ถ”๋ก ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์ด๊ณ , score 2์˜ ๊ฒฝ์šฐ ํƒ€์ž… ์ฃผ์„์— ๋Œ€ํ•œ ์˜ˆ์‹œ์ด๋‹ค. ๋‚ด๊ฐ€ ์›ํ–ˆ๋˜ ๊ฒƒ์€ 17.0์„ Floatํ˜•์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ง€๊ธˆ์€ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋Œ€๋กœ ์ž˜ ์ง€์ •๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์ •๋ฆฌํ•˜์ž๋ฉด ์ž์‹ ์ด ๊ทธ๋ƒฅ ๋‚œ ํŽธํ•˜๊ฒŒ ์“ฐ๋Š” ๊ฒŒ ์ข‹๊ณ  ๊ตณ์ด ํƒ€์ž…๊นŒ์ง€ ์ง€์ •ํ•ด์ค„ ํ•„์š” ์—†์–ด~ ํ•œ๋‹ค๋ฉด ํƒ€์ž… ์ถ”๋ก !

์•„๋ƒ ๋‚œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ง€์ •ํ•ด์ค€ ๊ฒŒ ์•„๋‹Œ ๋‚ด๊ฐ€ ์ง์ ‘ ์ง€์ •ํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์‹ถ์–ด~ ํ•œ๋‹ค๋ฉด ํƒ€์ž… ์ฃผ์„! 

๋‘˜ ๋‹ค ์–ด๋–ค ๊ฒŒ ๋งž๊ณ  ํ‹€๋ฆฐ ๊ฒƒ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ณธ์ธ์˜ ์†Œ์Šค์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋Šฅ๋ ฅ์ด ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋„ค์š”~!!

 

 

 

learning by repetition


https://www.hackingwithswift.com/100/swiftui/4

 

Day 4 – 100 Days of SwiftUI

Follow the 100 Days of SwiftUI and learn to build apps for free.

www.hackingwithswift.com

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'iOS > Swift ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐ˜๋ณต๋ฌธ  (0) 2022.07.15
์กฐ๊ฑด๋ฌธ & ์‚ผํ•ญ ์—ฐ์‚ฐ์ž  (0) 2022.07.14
๋ฐฐ์—ด(2)  (0) 2022.07.11
๋ฐฐ์—ด  (0) 2022.07.06
Bool & ๋ฌธ์ž์—ด ๋ณด๊ฐ„๋ฒ•  (0) 2022.07.05
'iOS/Swift ๋ฌธ๋ฒ•' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐ˜๋ณต๋ฌธ
  • ์กฐ๊ฑด๋ฌธ & ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
  • ๋ฐฐ์—ด(2)
  • ๋ฐฐ์—ด
NelchuPapa
NelchuPapa
  • NelchuPapa
    DEV_Larva
    NelchuPapa
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๋งํฌ

    • ๐Ÿ’ป Github
    • Develope (86)
      • Cloud (18)
        • AWS (14)
        • Linux (1)
        • Network (3)
      • CS (5)
      • iOS (28)
        • Swift ๋ฌธ๋ฒ• (14)
        • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ (7)
        • WWDC (2)
        • HIG (4)
      • Xcode (5)
        • Xcode ์˜ค๋ฅ˜ ๋ชจ์Œ์ง‘ (4)
        • ์‚ฌ์šฉํŒ (1)
      • SwiftUI & UIKit (19)
        • SwiftUI์˜ ๋ชจ๋“ ๊ฒƒ (1)
        • Tutorials (14)
        • Network (1)
        • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (1)
      • ์žก๋™์‚ฌ๋‹ˆ (10)
        • Git&Github (7)
        • Etc (0)
        • ๋ณผ๊ฑฐ๋ฆฌ (1)
        • My daily life (2)
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
NelchuPapa
Type annotations(ํƒ€์ž… ์ถ”๋ก )
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”