๋ชฉ๋กVALUE (1)

Focus On Develop ๐ŸคŸ๐ŸคŸ

[Swift] Class vs Struct

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ๋งค์šฐ ๊ธฐ๋ณธ์ด๋ฉด์„œ๋„, ๋งค์šฐ ์ค‘์š”ํ•œ Class์™€ Struct์— ๋Œ€ํ•ด์„œ ์ข€ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•ด์š”! ๋Œ์•„๋ณด๋‹ค ๋ณด๋‹ˆ, ์ด๋Ÿฐ Swift์— ๋Œ€ํ•ด ๊ธฐ๋ณธ์ด์ง€๋งŒ ๋งค์šฐ ์ค‘์š”ํ•œ ๋‚ด์šฉ๋“ค์„ ๋”ฐ๋กœ ๋‹ค๋ฃจ์ง€ ์•Š์•˜๋˜ ๊ฒƒ ๊ฐ™์•„์„œ ์ข€ ๋‹ค๋ฃจ๋ ค๊ณ ์š”!! ๐Ÿง‘‍๐Ÿ’ป ๋จผ์ € Struct์™€ Class๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž„์˜๋กœ ๋งŒ๋“  "๋ฐ์ดํ„ฐ ํƒ€์ž…"์ด์—์š”. ๋ฐ์ดํ„ฐ๋ฅผ ํŠน์ • ์šฉ๋„์— ๋งž๊ฒŒ ๋ฌถ์–ด ํ‘œํ˜„ํ•˜๊ณ ์ž ํ• ๋•Œ, ๋‚ด๋ถ€์—์„œ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•ด์„œ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์–ด์š”. ๋จผ์ € ๊ฐ„๋žตํ•˜๊ฒŒ ๊ณตํ†ต์ ๊ณผ ์ฐจ์ด์ ์„ ์š”์•ฝํ•ด๋ณด๊ณ , ์ค‘์š”ํ•œ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ๋Š” ์ข€ ๋” ์‚ดํŽด๋ณผ๊ฒŒ์š”! ๊ณตํ†ต์  ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํผํ‹ฐ ์ •์˜ ๊ฐ€๋Šฅ ๊ธฐ๋Šฅ ์‹คํ–‰์„ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ ์ •์˜ ๊ฐ€๋Šฅ initializer(์ƒ์„ฑ์ž) ์ •์˜ ๊ฐ€๋Šฅ extension ์„ ํ†ตํ•œ ํ™•์žฅ ๊ฐ€๋Šฅ protocol ์ฑ„ํƒ ๊ฐ€๋Šฅ..