๋ณ์๋ ์ ํ์ํ ๊น??
์ปดํจํฐ๋ ๊ฐ์ ์ ์ฅํ๊ณ ๊ณ์ฐํ๋ ์ผ์ ์์ฃผ ์ ํ๋ค!
์ด๋, ์ปดํจํฐ๊ฐ ๊ฐ์ ์ ์ฅํ๊ณ ๊ณ์ฐํ๊ธฐ ์ํด์๋
CPU, ๋ฉ๋ชจ๋ฆฌ, ํ๋์จ์ด๊ฐ ํ์ํ๋ค๊ณ ํ๋ค.
CPU์๊ฒ ๊ณ์ฐ์ ์ํค๋ ค๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ์ ์ฅ ์์ผ์ผ ํ๋๋ฐ
๋ฉ๋ชจ๋ฆฌ๋ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ณต์กํ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ๊ณ ์์ด
๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ ์ ์ฅํ๊ณ ์ฐพ๊ธฐ๊ฐ ์ด๋ ต๋ค.
๊ทธ๋์ ๋ฑ์ฅํ ๊ฐ๋ ์ด ๋ฐ๋ก '๋ณ์'!
๋ณต์กํ 0๊ณผ 1์ผ๋ก ๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์๋
name, age ๋ฑ๊ณผ ๊ฐ์ ์ด๋ฆ์ ๋ณ์๋ฅผ ์ด์ฉํด์
๊ฐ๋ฐ์๊ฐ ์ฝ๊ฒ ๊ฐ์ ์ ์ฅํ๊ณ ๊ฐ์ง๊ณ ์ฌ ์ ์๋ค.
์ฆ, ๋ณ์์ ์์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ์ด๋ฆ์ผ๋ก ์ฐ๊ฒฐํด ๋์ ๊ฒ!!
๋ณ์์ ์์๋ฅผ ํตํ์ด์ ๋ณ์๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
: ์ด๋ค ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ. ์ธ์ ๋ ์ง ์๋ก์ด ๊ฐ์ ์ ์ฅํ ์ ์์ (mutable)
๋ค๋ง, ์ฒ์ ์
๋ ฅํ ํ์
๊ณผ ๋์ผํ ํ์
์ ํํด์๋ง ๋ณ๊ฒฝ ๊ฐ๋ฅ.
1. ๋ณ์ ์ ์ธ
var ํค์๋๋ก ์ ์ธ๋ ๋ณ์์ ์ฒ์์ผ๋ก ๊ฐ์ ๋์ ํ๋ ๊ณผ์ ์ ์ด๊ธฐํ(Initialize)๋ผ๊ณ ํ๋ค.
= (Assignment Operator)์ ํ ๋น ์ฐ์ฐ์๋ก ์ค๋ฅธ ์ชฝ์ ์๋ ๊ฐ์ ์ผ์ชฝ์ ์๋ ๋ณ์์ ์ ์ฅํ๋ ์ญํ
2. ๋ณ์์ ์๋ก์ด ๊ฐ ์ ์ฅ
๋ณ์์ ์๋ก์ด ๊ฐ์ ์ ์ฅํ ๋๋ var ํค์๋๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค. ์ด๋ ๊ธฐ์กด ๊ฐ์ ์ฌ๋ผ์ง๊ณ ๊ฐ์ด ์์ ํ ๋ฐ๋๋ค.
: ๊ฐ์ ์ ์ฅํ๊ณ ๋ฐ๊ฟ ์ ์์(immutable)
1. ์์ ์ ์ธ
2. ๊ฐ์ ์์๋ก ์ ์ฅํ์ ๋ ์ฅ์
- ์ฝ๋๊ฐ ์์ ํด์ง๋ค.
์ค์๋ก ๊ฐ์ด ๋ฐ๋๋ค๊ฑฐ๋ ๊ฐ์ ์ฑ๊ฒฉ์ด ๋ช ํํด์ง ๋๋ฌธ์ ๊ด๋ฆฌ ํ๊ธฐ ์ฝ๋ค.
- ๊ฐ์ด ๋ฐ๋์ง ์์ผ๋ฉด ์ปดํ์ผ๋ฌ๊ฐ ์ต์ ํ๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์ข ๋ ๋น ๋ฅธ ์ฝ๋๋ฅผ ๋ง๋ค ์ ์๋ค.
๐ Reference
- ์คํ๋ฅดํ์ฝ๋ฉ ๋ด์ผ๋ฐฐ์์บ ํ Swift ํ์ต์๋ฃ
- '์ฝ๋ฉ์ฑ๋ฆฐ์ง' ์ดํ