iOS Study/Swift Study

Data Type With Memory

youngjaeLee1026 2022. 5. 3. 17:53

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