Struct์ Class
๊ตฌ์กฐ์ฒด์ ํด๋์ค๋ ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ ์์ต๋๋ค. ํ๋์ ์๋ก์ด ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ ๋๋ค.
๊ณตํต์
- ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
- ์ด๊ธฐํ ์ํ ์ค์ ์ ์ํ ์ด๊ธฐํ๋ฅผ ์ ์ํ ์ ์์ต๋๋ค.
- extension๊ณผ ๊ฐ์ ๊ธฐ๋ฅ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
- Protocol์ ์ฑํํ์ฌ ๊ธฐ๋ฅ ์ค์ ํ ์ ์์ต๋๋ค.
์ฐจ์ด์
Struct
- ๊ตฌ์กฐ์ฒด๋ ๊ฐ ํ์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์คํ ์์ญ์ ์ ์ฅ๋ฉ๋๋ค.
- ์คํ ์์ญ์ ์ปดํ์ผ ํ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ฏ๋ก ๊ฐ์ ์ฐพ๊ธฐ ๋น ๋ฆ ๋๋ค.
- ๊ฐ ํ์ ์ ๊ฐ์ฒด๊ฐ ๋ณ์์ ํ ๋น๋๋ฉด ํด๋น ๊ฐ์ฒด์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ๊ทธ๋๋ก ์ ์ฅ๋ฉ๋๋ค. ํด๋น ๋ณ์๋ฅผ ๋ ๋ค๋ฅธ ๋ณ์์ ํ ๋นํ์ ๋ ๊ฐ์ด ๋ณต์ฌ๋์ด, ๋ณต์ฌ๋ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.
Class
- ํด๋์ค๋ ์ฐธ์กฐ ํ์ ์ผ๋ก, ๋ฉ๋ชจ๋ฆฌ์ ํ ์์ญ์ ์ ์ฅ๋ฉ๋๋ค.
- ํ ์์ญ์ ๋ฐํ์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ฏ๋ก ๊ฐ์ ์ฐพ๋ ๊ฒ์ด ์คํ๋ณด๋ค ๋น๊ต์ ๋๋ฆฝ๋๋ค.
- ์ฐธ์กฐ ํ์ ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋์ด ๋ณ์์ ํ ๋น๋๋ ๊ฒ์ ํด๋น ๊ฐ์ฒด์ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ๋ณ์์ ํ ๋น๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ํด๋น ๋ณ์๋ฅผ ๋ ๋ค๋ฅธ ๋ณ์์ ํ ๋นํ์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์๋ ์ฃผ์๋ฅผ ํ ๋นํ๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๊ฐ์ ๊ฐ๋ฆฌํค๊ฒ ๋ฉ๋๋ค.