Structure

  • C์–ธ์–ด ๋“ฑ์˜ ๊ตฌ์กฐ์ฒด๋ณด๋‹ค ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ
  • ์ƒ์† ๋ถˆ๊ฐ€๋Šฅ
  • ์ธ์Šคํ„ด์Šค/ํƒ€์ž… ๋ฉ”์„œ๋“œ
  • ์ธ์Šคํ„ด์Šค/ํƒ€์ž… ํ”„๋กœํผํ‹ฐ
  • ๊ฐ’ํƒ€์ž…
  • Swift์˜ ๋Œ€๋ถ€๋ถ„์˜ ํฐ ๋ผˆ๋Œ€๋Š” ๋ชจ๋‘ ๊ตฌ์กฐ์ฒด

Struct๊ฐ€ ์„ ํ˜ธ๋˜๋Š” ์ด์œ 

  • mutability control์— ์œ ๋ฆฌ
    • ์ƒํƒœ๋กœ ์ธํ•œ ๋ถ€์ž‘์šฉ ์—†์Œ
    • let ์„ ์–ธ์œผ๋กœ ์™„์ „ํ•œ immutable ์ž๋ฃŒํ˜• ์ƒ์„ฑ
      • class์˜ ๊ฒฝ์šฐ let ์ธ์Šคํ„ด์Šค์—ฌ๋„ member ๋ณ€์ˆ˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
  • ์„ฑ๋Šฅ ์œ ๋ฆฌ
    • referencing ์†Œ์š” ์‹œ๊ฐ„ ๊ฐ์†Œ
    • compiler๊ฐ€ ๊ฐ•๋ ฅํ•œ ์ตœ์ ํ™” ์ˆ˜ํ–‰
  • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํšจ๊ณผ์ •
    • immutable ์š”์†Œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ code ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ
    • concurrency programming์‹œ ์•ˆ์ •์ ์ธ ์ฝ”๋“œ ์ž‘์„ฑ ๊ฐ€๋Šฅ
      • ์ˆœ์ˆ˜ํ•จ์ˆ˜์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Œ