Data Type With Memory
1. Data Type
- Data Type, ์๋ฃํ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ์ข
๋ฅ์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํจ
- Int ์๋ฃํ์ ๊ฒฝ์ฐ PC๊ฐ 32bits ์ด์์ฒด์ ๋ผ๋ฉด 4Byte, 64bits ์ด์์ฒด์ ๋ผ๋ฉด 8Byte๋งํผ ์ ์ฅํ ์ ์์
- ๋ฐ๋ผ์ ๊ฐ๊ฐ ์๋ง์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ ์ ์๋๋ก ๋ค์ํ ์ข
๋ฅ์ ํฌ๊ธฐ์ ์๋ฃํ์ด ์กด์ฌ
2. Swift ๊ธฐ๋ณธ ์๋ฃํ(Swift Built-in Data Type)
- Integer
- Floating-Point
- Boolean
- Character
- String
3. Data ์ ์ฅ ๋จ์
- ๋ชจ๋ ๋ฐ์ดํฐ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์ฒ๋ฆฌ๋๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ๋ 1๊ณผ 0์ ์ ์ฅํ๋ ๋ฐ๋์ฒด
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๋จ์ : Bit ~ YB...
- Bit : ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ฐ์ฅ ์์ ๋จ์์ด๋ฉฐ, 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง
- Byte : 8bits, ๋ถํธ์ ์(Signed)์ ๊ฒฝ์ฐ ์ต์์ ๋นํธ๊ฐ 1์ด๋ฉฐ -128 ~ 127, ๋น๋ถํธ์ ์(Unsigned)์ ๊ฒฝ์ฐ ์ต์์ ๋นํธ๊ฐ 0์ด๋ฉฐ, 0 ~ 255๊น์ง ํํํ ์ ์์
- ๋ถํธ์ ์๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๋ฐฉ์ : 2์ ๋ณด์, ๋ชจ๋ ๋นํธ๋ฅผ ๋ฐ๋๋ก ๋ค์ง๊ณ 1์ ๋ํด์ค, ์ค์ 10์ง์ ๊ฐ์ ์๊ณ ์ถ๋ค๋ฉด 1์ ๋นผ๊ณ ๋ชจ๋ ๋นํธ๋ฅผ ๋ฐ๋๋ก ๋ค์ง์ ๋ค 10์ง์๋ก ๋ณํํ๋ฉด ๋จ
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ด ์๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ธฐ ์ํด์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ํ์ํจ
- ๋ฐ๋ผ์ 32bits ์ด์์ฒด์ ๋ผ๋ฉด ํ๋ฒ์ ์ฐธ์กฐ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ํฌ๊ธฐ๊ฐ 32bits(4Byte), 64bits ์ด์์ฒด์ ๋ผ๋ฉด ํ๋ฒ์ ์ฐธ์กฐ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ํฌ๊ธฐ๊ฐ 64bits(8Byte)์ด๋ฉฐ ์ด๋ฅผ ์ปดํจํฐ๊ตฌ์กฐ์์๋ Word๋ผ๊ณ ๋ ํจ
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ์ ์๋ ๊ฐ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ, Overflow Error๊ฐ ๋ฐ์ํจ
4. Numbers
- ์ซ์๋ฅผ ํํํ๋ ๋ฐฉ์, Swift์์ ๊ธ์ก ๋จ์๋ฅผ ํ์ํ ๋, "_"๋ก ๊ตฌ๋ถ์ง์ด ํ์ํ ์ ์์ด ๊ฐ๋
์ฑ์ ๋์ผ ์ ์์
- ๊ฐ๋ น, 1,000,000์ Swift์์๋ 1_000_000์ผ๋ก ํํํ ์ ์์
let money: Int = 1_000_000
5. Boolean
- ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ๋ด๋ Data Type
- ๋๋ฌธ์ ์กฐ๊ฑด์ ํ๋จํ ๋ ๋ง์ด ์ฌ์ฉ๋จ
let isValid: Bool = true // or false
if isValid {
print("Success")
}
while !isValid {
print("Loop...")
}
6. Strings and Characters
- String : Swift์์ ๋ฌธ์์ด์ "" ์ฌ์ด์ ๋ฌธ์ ์งํฉ, "" ์์ ๋ฌธ์ ์งํฉ์ ๊ฐ์์ ์๊ด์์ด ๊ธฐ๋ณธ์ ์ผ๋ก String์ผ๋ก ์ธ์
let str: String = "Have a nice day" //String.Type
let str2 = "1" // String.Type
- Character : "" ์์ ๋ฌธ์ ์งํฉ์ ๊ฐ์์ ์๊ด์์ด ๊ธฐ๋ณธ์ ์ผ๋ก String์ผ๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์, ๋ฌธ์์ ๊ฐ์๊ฐ ํ๋์ธ Character๋ก ์๋ฃํ์ ์ง์ ํ๊ณ ์ถ๋ค๋ฉด, ๋ฐ๋์ ์ง์ ์ ์ธํด์ผ ํจ
let ch: Character = "1" // Character.Type
'iOS Study > Swift Study' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Type Inference (ํ์ ์ถ๋ก ) (0) | 2022.05.04 |
---|---|
Scope (0) | 2022.05.03 |
Variables and Constants (0) | 2022.04.29 |
Swift Source Code Build (0) | 2022.04.28 |
Swift์์์ Call By Value vs Call By Reference (0) | 2022.03.12 |