๐Ÿฆ… Swift 14

Initialization

์ดˆ๊ธฐํ™”๋Š” ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜• ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ค€๋น„ ์ž‘์—…์„ ํ•˜๋Š” ๋‹จ๊ณ„ ์ด๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ๊ฐ ์ €์žฅ ํ”„๋กœํผํ‹ฐ์˜ ์ดˆ๊ธฐ ๊ฐ’์„ ์„ค์ •ํ•œ๋‹ค. ์ดˆ๊ธฐํ™” ๊ณผ์ •์€ initializer๋ฅผ ์ •์˜ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. Swift์˜ initializer๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ดˆ๊ธฐํ™”์™€ ๋ฐ˜๋Œ€๋กœ ์—ฌ๋Ÿฌ ๊ฐ’๊ณผ ์ž์›์˜ ํ•ด์ง€๋ฅผ ์œ„ํ•ด deinitializer๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋ฅผ ์œ„ํ•œ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • (Setting Initial Values for Stored Properties) ์ธ์Šคํ„ด์Šค์˜ ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ํŠน์ • ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋ผ์•ผ ํ•œ๋‹ค. ์ด ๊ฐ’์œผ๋กœ ๊ธฐ๋ณธ ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๊ณ , ํŠน์ • ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค ์ด๋‹ˆ์…œ๋ผ์ด์ € (Initializers) ์ด๋‹ˆ์…œ๋ผ์ด์ €๋Š” ํŠน์ • ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ..

๐Ÿฆ… Swift 2022.07.13

Inheritance

ํด๋ž˜์Šค๋Š” ๋ฉ”์†Œ๋“œ, ํ”„๋กœํผํ‹ฐ์™€ ๋‹ค๋ฅธ ํŠน์ง•(characteristics)์„ ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ ๋ถ€ํ„ฐ ์ƒ์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฒƒ์ด Swift์—์„œ ํด๋ž˜์Šค๊ฐ€ ๋‹ค๋ฅธ ํƒ€์ž…๊ณผ ๊ตฌ๋ถ„๋˜๋Š” ๊ทผ๋ณธ์ ์ธ ์š”์†Œ์ด๋‹ค. ํด๋ž˜์Šค์—์„œ๋Š” ์ €์žฅ๋œ ํ”„๋กœํผํ‹ฐ์™€ ๊ณ„์‚ฐ๋œ ํ”„๋กœํผํ‹ฐ์™€ ์ƒ๊ด€์—†์ด ์ƒ์†๋ฐ›์€ ํ”„๋กœํผํ‹ฐ์— ํ”„๋กœํผํ‹ฐ ์˜ต์ €๋ฒ„๋ฅผ ์„ค์ •ํ•ด์„œ ๊ฐ’ ์„ค์ •์— ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค ์ •์˜ (Defining a Base Class) ๋‹ค๋ฅธ ์–ด๋–ค ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ๋„ ์ƒ์†๋ฐ›์ง€ ์•Š์€ ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜ ํด๋ž˜์Šค๋ผ ํ•œ๋‹ค class Vehicle { var currentSpeed = 0.0 var description: String { return "traveling at \(currentSpeed) miles per hour" } func makeNoise() { // do nothin..

๐Ÿฆ… Swift 2022.07.05

Subscripts

ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด ๊ทธ๋ฆฌ๊ณ  ์—ด๊ฑฐํ˜•์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ž€ ์ฝœ๋ ‰์…˜, ๋ฆฌ์ŠคํŠธ, ์‹œํ€€์Šค ๋“ฑ ์ง‘ํ•ฉ์˜ ํŠน์ • ๋ฉค๋ฒ„ ์š”์†Œ์— ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์ด๋‹ค. ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•˜๋ฉด ์ถ”๊ฐ€์ ์ธ ๋ฉ”์†Œ๋“œ ์—†์ด ํŠน์ • ๊ฐ’์„ ํ• ๋‹น(assign)ํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ์ˆ˜(retrieve) ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค๋ฉด, ๋ฐฐ์—ด(Array) ์ธ์Šคํ„ด์Šค์˜ ํŠน์ • ์—˜๋ฆฌ๋จผํŠธ๋Š” someArray[index]๋ฌธ๋ฒ•์œผ๋กœ, ์‚ฌ์ „(Dictionary) ์ธ์Šคํ„ด์Šค์˜ ํŠน์ • ์—˜๋ฆฌ๋จผํŠธ๋Š” someDictionary[key]๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜๋‚˜์˜ ํƒ€์ž…์— ์—ฌ๋Ÿฌ ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ณ  ์˜ค๋ฒ„๋กœ๋“œ(Overload)๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ๋‹จ์ผ ์ธ์ž ๊ฐ’์„ ๋„˜์–ด, ํ•„์š” ๋”ฐ๋ผ ๋ณต์ˆ˜ ์ธ์ž ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ธŒ์Šคํฌ๋ฆฝํŠธ ๋ฌธ๋ฒ• (Subscript Syntax)..

๐Ÿฆ… Swift 2022.07.04

Methods

ํŠน์ • ํƒ€์ž…์˜ ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•๊ณผ ๊ด€๋ จ๋œ ํ•จ์ˆ˜๋ฅผ ๋ฉ”์†Œ๋“œ๋ผ ํ•œ๋‹ค. ํŠน์ • ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ, ํŠน์ • ํƒ€์ž…๊ณผ ๊ด€๋ จ๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ํƒ€์ž… ๋ฉ”์†Œ๋“œ๋ผ ํ•œ๋‹ค.Swift์—์„œ๋Š” ํด๋ž˜์Šค ํƒ€์ž… ๋ฟ๋งŒ์•„๋‹ˆ๋ผ ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์—์„œ๋„ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ฉ”์„œ๋“œ(Instance Methods) ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ๋Š” ํŠน์ • ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์˜ ์ธ์Šคํ„ด์Šค์— ์†ํ•œ ๋ฉ”์†Œ๋“œ์ด๋‹ค. ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค ๋‚ด์˜ ๊ฐ’์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค. ์ธ์Šคํ„ด์Šค ๋ฉ”์†Œ๋“œ๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๊ทธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์†ํ•œ ํŠน์ • ํƒ€์ž…์˜ ์ธ์Šคํ„ด์Šค์—์„œ๋งŒ ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๋‹ค. class Counter { var count = 0 func increment() { count += 1 } func increment(by a..

๐Ÿฆ… Swift 2022.07.04

Properties

ํด๋ž˜์Šค๋‚˜ ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐ์ฒด์˜ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ทธ ๋‚ด๋ถ€์— ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ๋งํ•œ๋‹ค. ์ €์žฅ ํ”„๋กœํผํ‹ฐ: ์ธ์Šคํ„ด์Šค์˜ ์ผ๋ถ€๋กœ ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜ ๊ฐ’์„ ์ €์žฅ ๊ณ„์‚ฐ ํ”„๋กœํผํ‹ฐ: ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋Œ€์‹ ์— ๊ณ„์‚ฐ์„ ํ•จ( ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์—์„œ ์ œ๊ณต) ํƒ€์ž… ํ”„๋กœํผํ‹ฐ: ํ”„๋กœํผํ‹ฐ๋Š” ํƒ€์ž… ๊ทธ ์ž์ฒด์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ฅผ ํƒ€์ž…ํ”„๋กœํผํ‹ฐ๋ผ๊ณ  ํ•จ ์ €์žฅ ํ”„๋กœํผํ‹ฐ (Stored Properties) ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” ํŠน์ • ํด๋ž˜์Šค ๋˜๋Š” ๊ตฌ์กฐ์ฒด์˜ ์ธ์Šคํ„ด์Šค ์ผ๋ถ€๋กœ์„œ ์ €์žฅ๋œ ์ƒ์ˆ˜ ๋˜๋Š” ๋ณ€์ˆ˜์ด๋‹ค. ๋˜ํ•œ ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋ฅผ ์„ ์–ธํ• ๋•Œ “๊ธฐ๋ณธ๊ฐ’ (Default Property Value)”๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฌํ•œ ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” initializer(์ƒ์„ฑ์ž)๋กœ ์ดˆ๊ธฐํ™” ์‹œํ‚ฌ ์ˆ˜ ๋„ ์žˆ๋‹ค. ์ƒ์„ฑ์ž์— ์˜ํ•ด ์ดˆ๊ธฐํ™” ๋  ๋•Œ๋Š” ํ•ด๋‹น ํ”„..

๐Ÿฆ… Swift 2022.07.04

Structures and Classes

ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋Š” ์ „ํ†ต์ ์œผ๋กœ ๊ฐ์ฒด๋กœ ์•Œ๋ ค์ ธ ์žˆ์œผ๋‚˜, ์Šค์œ„ํ”„ํŠธ์˜ ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋ณด๋‹ค ํ›จ์”ฌ ๊ธฐ๋Šฅ์ ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์žฅ์˜ ๋Œ€๋ถ€๋ถ„์€์˜ ํด๋ž˜์Šค์™€ ๊ตฌ์กฐ์ฒด์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์ ์ธ ์„ค๋ช…์ด๊ธฐ ๋•Œ๋ฌธ์—,์ผ๋ฐ˜์ ์ธ ์šฉ์–ด์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค. ๊ตฌ์กฐ์ฒด์™€ ํด๋ž˜์Šค์˜ ๋น„๊ต (Comparing Structures and Classes) ๊ณตํ†ต์  ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ํ”„๋กœํผํ‹ฐ ์ •์˜ ๊ธฐ๋Šฅ ์ œ๊ณต์„ ์œ„ํ•œ ๋ฉ”์„œ๋“œ ์ •์˜ ์„œ๋ธŒ ์Šคํฌ๋ฆฝํŠธ ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์— ์ ‘๊ทผ์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋ธŒ ์Šคํฌ๋ฆฝํŠธ ์ •์˜ ์ดˆ๊ธฐํ™” ์ƒํƒœ๋ฅผ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•œ ์ดˆ๊ธฐํ™” ์ •์˜ ๊ธฐ๋ณธ ๊ตฌํ˜„์„ ๋„˜์–ด ๊ธฐ๋Šฅ์  ํ™•์žฅ์„ ์œ„ํ•œ ํ™•์žฅ ํŠน์ • ์ข…๋ฅ˜์˜ ํ‘œ์ค€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ์ค€์ˆ˜ ํด๋ž˜์Šค๋งŒ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ์ƒ์† (Inheritance) : ํด๋ž˜์Šค์˜ ์—ฌ๋Ÿฌ ์†์„ฑ์„ ๋‹ค๋ฅธ ํด๋ž˜์Šค์— ๋ฌผ๋ ค ์คŒ ํƒ€์ž… ์บ์ŠคํŒ… (Type cas..

๐Ÿฆ… Swift 2022.06.22

Enumerations

์—ด๊ฑฐํ˜•์€ ๊ด€๋ จ๋œ ๊ฐ’๋“ค์„ ์ •์˜ํ•˜๊ณ , ์ฝ”๋“œ์•ˆ์—์„œ ํƒ€์ž… ์„ธ์ดํ”„ ํ•˜๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค์— ๊ฐ’์„ ์ œ๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ๋ฌธ์ž์—ด,๋ฌธ์ž,์ •์ˆ˜ ๋“ฑ์œผ๋กœ ์›์‹œ๊ฐ’์„ ์„ค์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ๋˜๋Š” ์—ด๊ฑฐํ˜•์˜ ๊ฐ๊ฐ์˜ ์ผ€์ด์Šค๋Š” ๋ชจ๋“  ํƒ€์ž…์˜ ์—ฐ๊ด€๊ฐ’์„ ์„ค์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค. ์—ด๊ฑฐํ˜• ๊ตฌ๋ฌธ (Enumeration Syntax) enum CompassPoint { case north case south case east case west } ์—ด๊ฑฐํ˜• ์•ˆ์˜ (north, south, east, west)์€ ์—ด๊ฑฐํ˜• ์ผ€์ด์Šค (enumeration cases) ์ด๋‹ค. ์—ด๊ฑฐํ˜• ์ผ€์ด์Šค๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด case ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. enum Planet { case mercury, venus, earth, mars, jupiter, s..

๐Ÿฆ… Swift 2022.06.15

Closures

ํด๋กœ์ €๋Š” ์ฃผ๋ณ€์— ์ „๋‹ฌ๋˜๊ฑฐ๋‚˜, ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ๋ธ”๋Ÿญ์„ ๋งํ•œ๋‹ค. ํด๋กœ์ €๋Š” ์ •์˜๋œ ๋ฌธ์žฅ์•ˆ์—์„œ ์ƒ์ˆ˜์™€ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ’์„ ์บก์ฒ˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ๋Š” ์บก์ฒ˜๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ „์—ญํ•จ์ˆ˜์™€ ์ค‘์ฒฉํ•จ์ˆ˜๋Š” ํด๋กœ์ €์˜ ๋‹ค๋ฅธ ์ด๋ฆ„์ด๋‹ค. ํด๋กœ์ €๋Š” ์•„๋ž˜ ์„ธ๊ฐ€์ง€ ํ˜•ํƒœ์ค‘ ํ•˜๋‚˜์˜ ํ˜•ํƒœ๋ฅผ ์ทจํ•œ๋‹ค. ์ „์—ญํ•จ์ˆ˜๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‚˜ ๊ฐ’์„ ์บก์ฒ˜ํ•˜์ง€ ์•Š๋Š” ํด๋กœ์ €์ด๋‹ค. ์ค‘์ฒฉํ•จ์ˆ˜๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ๋‚ด๋ถ€์˜ ํ•จ์ˆ˜๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋กœ์ €์ด๋‹ค. ํด๋กœ์ €ํ‘œํ˜„์‹์€ ์ฃผ๋ณ€ ๋ฌธ์žฅ์œผ๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์บก์ณํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„์ด ์—†๋Š” ๊ฒฝ๋Ÿ‰๊ตฌ๋ฌธ์„ ๋งํ•œ๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ ํด๋กœ์ €ํ‘œํ˜„์‹์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊น”๋”ํ•˜๊ณ  ๋ช…๋ฐฑํ•œ ์Šคํƒ€์ผ์„ ์ถ”๊ตฌํ•œ๋‹ค. ํด๋กœ์ €์˜ ์ตœ์ ํ™”๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•œ๋‹ค. ๋ฌธ์žฅ์„ ํ†ตํ•ด ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฆฌํ„ด ๊ฐ’์„ ์œ ์ถ”ํ•œ๋‹ค. ๋‹จ์ผ์˜ ํด๋กœ์ €..

๐Ÿฆ… Swift 2022.06.15

Functions

ํ•จ์ˆ˜๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์˜ ๋ฌถ์Œ์ด๋‹ค. ๋™์ž‘์— ๋”ฐ๋ผ ํ•จ์ˆ˜์— ํŠน์ • ์ด๋ฆ„์„ ์„ค์ • ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•จ์ˆ˜ ์ •์˜์™€ ํ˜ธ์ถœ (Defining and Calling Functions) ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ• ๋•Œ ์„ ํƒ์ ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๋˜ํ•œ ๋ฆฌํ„ด ๊ฐ’๋„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ํ•จ์ˆ˜๋Š” ํ•จ์ˆ˜์˜ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ ์˜ ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ˜ธ์ถœ์„ ํ•ด์•ผํ•˜๋ฉฐ ์•„๊ทœ๋จผํŠธ์— ๊ฐ’์„ ๋„ฃ์–ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์•„๊ทœ๋จผํŠธ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆœ์„œ์™€ ํ•ญ์ƒ ๊ฐ™์•„์•ผ ํ•œ๋‹ค. ํ•จ์ˆ˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜๊ฐ’ (Function Parameters and Return Values) Swift๋Š” ๋งค์šฐ ์œ ์—ฐํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†๋Š” ํ•จ์ˆ˜ (Functions Without..

๐Ÿฆ… Swift 2022.06.01

Control Flow

Swift๋Š” ๋‹ค์–‘ํ•œ ์ œ์–ด ํ๋ฆ„๋ฌธ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ข…๋ฅ˜๋กœ๋Š” while, if, guard, switch ๊ตฌ๋ฌธ๊ณผ ๋‹ค๋ฅธ ์ฝ”๋“œ์˜ ์‹คํ–‰์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ํ•ด์ฃผ๋Š” break์™€ continue๋ฌธ๋„ ์กด์žฌํ•œ๋‹ค. Swift๋Š” ๋˜ํ•œ ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ๋ฒ”์œ„, ๋ฌธ์ž์—ด, ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ์—ฐ์†์ ์ธ ๊ฒƒ์— ๋Œ€ํ•œ ๋ฐ˜๋ณต์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ๋Š” for-in ๋ฃจํ”„๋ฅผ ์ œ๊ณตํ•œ๋‹ค. For-In ๋ฃจํ”„(For-IN Loops) ๋ฐฐ์—ด์˜ ์š”์†Œ, ํŠน์ • ๋ฒ”์œ„์˜ ์ˆซ์ž, ๋ฌธ์ž์—ด ๊ฐ™์€ ์—ฐ์†์ ์ธ ๊ฒƒ๋“ค์„ for-in ๋ฃจํ”„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ˜๋ณต ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex!..

๐Ÿฆ… Swift 2022.06.01