๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป/Swift

12. ๊ตฌ์กฐ์ฒด - iOS ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•œ ์Šค์œ„ํ”„ํŠธ ๊ธฐ์ดˆ

reujusong 2020. 6. 18. 22:27

- ๊ตฌ์กฐ์ฒด๋ž€?

  • ์Šค์œ„ํ”„ํŠธ ๋Œ€๋ถ€๋ถ„ ํƒ€์ž…์€ ๊ตฌ์กฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
  • ๊ตฌ์กฐ์ฒด๋Š” ๊ฐ’(value) ํƒ€์ž…์ด๋‹ค.
  • ํƒ€์ž…์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž ์นด๋ฉœ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜ํ•œ๋‹ค.

 

- ๊ตฌ์กฐ์ฒด ๋ฌธ๋ฒ•

  • ๊ตฌ์กฐ์ฒด ์ •์˜ : "struct" ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ
//MARK: - ์ •์˜
struct <#์ด๋ฆ„#> {
    /* <#๊ตฌํ˜„๋ถ€#> */
}

 

  • ๊ตฌ์กฐ์ฒด ํ”„๋กœํผํ‹ฐ ๋ฐ ๋ฉ”์„œ๋“œ ๊ตฌํ˜„

 

  • ๊ตฌ์กฐ์ฒด ์‚ฌ์šฉ

๋ถˆ๋ณ€ ์ธ์Šคํ„ด์Šค ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

๋ถˆ๋ณ€ ์ธ์Šคํ„ด์Šค์˜ ๊ฐ€๋ณ€ ํ”„๋กœํผํ‹ฐ ๋˜ํ•œ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

ํƒ€์ž… ํ”„๋กœํผํ‹ฐ๋Š” struct์— ํ˜ธ์ถœํ•œ๋‹ค.

 

 

- ํ•™์ƒ ๊ตฌ์กฐ์ฒด ๋งŒ๋“ค์–ด๋ณด๊ธฐ

 

 

class๋Š” ํ‚ค์›Œ๋“œ ์ด์ง€๋งŒ 'class' (๋”ฐ์˜ดํ‘œ) ๋ฅผ ํ†ตํ•ด ๋ณ€์ˆ˜๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

class์™€ struct ๊ตฌ๋ถ„ํ•˜๊ธฐ๋Š” ๋‹ค์Œ์— !