Deep_Dev
article thumbnail
[Swift ๊ธฐ์ดˆ] ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ( POP )

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

article thumbnail
[Swift ๊ธฐ์ดˆ] ์ œ๋„ค๋ฆญ ( Generic )

์ œ๋„ค๋ฆญ ์ œ๋„ค๋ฆญ์ด๋ž€ ? ํƒ€์ž…์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฒ”์šฉ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ ํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉํ•œ๋‹ค. ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๋ณต์„ ํ”ผํ•˜๊ณ , ์ฝ”๋“œ๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. Apple์— ์˜ํ•˜๋ฉด Swift์—์„œ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, Swift ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋Œ€๋‹ค์ˆ˜๋Š” ์ œ๋„ค๋ฆญ์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Array, Dictionary ๋˜ํ•œ ์ œ๋„ค๋ฆญํƒ€์ž…์ด๋‹ค. ์ œ๋„ค๋ฆญ ํ•จ์ˆ˜ ๋‘๊ฐœ์˜ ์ธ์ž๋ฅผ ๋ฐ›์•„ Intํƒ€์ž…์˜ ๊ฐ’์„ swapํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด, func swapTwoInts(_ a: inout Int, _ b: inout Int) { let tempA = a a = b b = tempA } ์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•œ๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ชจ๋‘ Intํ˜• ์ผ๊ฒฝ์šฐ์—” ์ž˜ ๋Œ์•„๊ฐ€๋Š” ์ฝ”๋“œ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋งŒ์•ฝ์— ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด Double, String์ผ ๊ฒฝ์šฐ์—”..

article thumbnail
[Swift ๊ธฐ์ดˆ] ๋ชจ๋‚˜๋“œ

๋ชจ๋‚˜๋“œ ๋ชจ๋‚˜๋“œ๋Š” ํŠน์ • ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ๋””์ž์ธ ํŒจํ„ด ํ˜น์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ํƒ€์ž…์„ ์ธ์ž๋กœ ๋ฐ›๋Š” ํƒ€์ž… ( ํŠน์ • ํƒ€์ž…์˜ ๊ฐ’์„ ํฌ์žฅ ) ํŠน์ • ํƒ€์ž…์˜ ๊ฐ’์„ ํฌ์žฅํ•œ ๊ฒƒ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜(๋ฉ”์„œ๋“œ)๊ฐ€ ์กด์žฌ ํฌ์žฅ๋œ ๊ฐ’์„ ๋ณ€ํ™˜ํ•˜์—ฌ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํฌ์žฅํ•˜๋Š” ํ•จ์ˆ˜(๋ฉ”์„œ๋“œ)๊ฐ€ ์กด์žฌ ์ปจํ…์ŠคํŠธ ์ปจํ…์ŠคํŠธcontext๋Š” ์ปจํ…์ธ ๋ฅผ ๋‹ด์€ ์ƒ์ž ๊ฐ™์€ ๊ฒƒ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ์ธ์ž๋กœ ์ปจํ…์ŠคํŠธ๊ฐ€ ๋‹ค๋ฅธ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. func addThree(_ num: Int) -> Int { return num + 3 } //๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ผ๋ฐ˜ Int ํƒ€์ž…์˜ ๊ฐ’์„ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ addThree(2) //์ „๋‹ฌ์ธ์ž๊ฐ€ ์ˆœ์ˆ˜ํ•œ ๊ฐ’์ด ์•„๋‹Œ ์˜ต์…”๋„์ด๋ผ๋Š” ์ปจํ…์ŠคํŠธ๋กœ ๋‘˜๋Ÿฌ์‹ธ์—ฌ ์ „๋‹ฌ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฅ˜ ๋ฐœ์ƒ addThree(..

article thumbnail
[Swift ๊ธฐ์ดˆ] ๋งต, ํ•„ํ„ฐ, ๋ฆฌ๋“€์Šค

๋งต, ํ•„ํ„ฐ, ๋ฆฌ๋“€์Šค ์Šค์œ„ํ”„ํŠธ๋Š” ํ•จ์ˆ˜๋ฅผ ์ผ๊ธ‰ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ „๋‹ฌ์ธ์ž๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•จ์ˆ˜๋ฅผ ๊ฐ–๋Š” ํ•จ์ˆ˜๋ฅผ ๊ณ ์ฐจํ•จ์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅด๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์ธ ๊ณ ์ฐจํ•จ์ˆ˜๋กœ ๋งต, ํ•„ํ„ฐ, ๋ฆฌ๋“€์Šค๊ฐ€ ์žˆ๋‹ค. ๋งต ์ž์‹ ์„ ํ˜ธ์ถœํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜ ์Šค์œ„ํ”„ํŠธ์—์„œ ๋งต์€ ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ, ์˜ต์…”๋„ ๋“ฑ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ˜•ํ•˜๋Š”๋ฐ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค. for-in ๊ตฌ๋ฌธ๊ณผ ๋งต ๋ฉ”์„œ๋“œ์˜ ์‚ฌ์šฉ ๋น„๊ต let numbers: [Int] = [0,1,2,3,4] var doubledNumbers: [Int] = [Int]() var strings: [String] = [String]() // for ๊ตฌ๋ฌธ ์‚ฌ์šฉ for number in numbers..

article thumbnail
[Swift ๊ธฐ์ดˆ] ์˜ต์…”๋„ ์ฒด์ด๋‹๊ณผ ๋น ๋ฅธ ์ข…๋ฃŒ

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

article thumbnail
[Swift ๊ธฐ์ดˆ] ํด๋กœ์ €

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

article thumbnail
[Swift ๊ธฐ์ดˆ] ์ ‘๊ทผ์ œ์–ด

์ ‘๊ทผ์ œ์–ด ์ ‘๊ทผ์ œ์–ด = ์€๋‹‰ํ™” ์ ‘๊ทผ์ œ์–ด๋ฅผ ํ†ตํ•ด ์ƒ์„ธ ๊ตฌํ˜„์€ ์ˆจ๊ธฐ๊ณ  ํ—ˆ์šฉ๋œ ๊ธฐ๋Šฅ๋งŒ ์‚ฌ์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ ‘๊ทผ์ œ์–ด์˜ ํ•„์š”์„ฑ ์™ธ๋ถ€์—์„œ ๋ณด๊ฑฐ๋‚˜ ์ ‘๊ทผํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ ‘๊ทผ์ˆ˜์ค€ public : ๊ณต๊ฐœ ์ ‘๊ทผ์ˆ˜์ค€ ์–ด๋””์„œ๋“  ์“ฐ์ผ ์ˆ˜ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ์˜ ๊ธฐ๋ณธ ์š”์†Œ๋Š” ๋ชจ๋‘ ๊ณต๊ฐœ ์ ‘๊ทผ์ˆ˜์ค€์œผ๋กœ ๋˜์–ด์žˆ๋‹ค. open : ๊ฐœ๋ฐฉ ์ ‘๊ทผ์ˆ˜์ค€ ๊ณต๊ฐœ ์ ‘๊ทผ์ˆ˜์ค€ ์ด์ƒ์œผ๋กœ ๋†’์€ ์ ‘๊ทผ ์ˆ˜์ค€์ด๋‹ค. ํด๋ž˜์Šค์™€ ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ณต๊ฐœ ์ ‘๊ทผ์ˆ˜์ค€๊ณผ ๊ฐœ๋ฐฉ ์ ‘๊ทผ์ˆ˜์ค€์˜ ์ฐจ์ด์  ๊ฐœ๋ฐฉ ์ ‘๊ทผ์ˆ˜์ค€์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ ‘๊ทผ ์ˆ˜์ค€์˜ ํด๋ž˜์Šค๋Š” ๊ทธ ํด๋ž˜์Šค๊ฐ€ ์ •์˜๋œ ๋ชจ๋“ˆ ์•ˆ์—์„œ๋งŒ ์ƒ์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐฉ ์ ‘๊ทผ์ˆ˜์ค€์„ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋ชจ๋“  ์ ‘๊ทผ์ˆ˜์ค€์˜ ํด๋ž˜์Šค ๋ฉค๋ฒ„๋Š” ํ•ด๋‹น ๋ฉค๋ฒ„๊ฐ€ ์ •์˜๋œ ๋ชจ๋“ˆ ์•ˆ์—์„œ๋งŒ ์žฌ์ •์˜ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐœ๋ฐฉ ์ ‘๊ทผ์ˆ˜์ค€์˜ ํด๋ž˜์Šค๋Š” ๊ทธ..

article thumbnail
[Swift ๊ธฐ์ดˆ] ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์†Œ๋ฉธ

์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐ ์†Œ๋ฉธ ์ธ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์†Œ๋ฉธํ•  ๋•Œ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด์„œ.. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์ดˆ๊ธฐํ™” ๊ณผ์ • = ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๋ฅผ ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ €์žฅ ํ”„๋กœํผํ‹ฐ์˜ ์ดˆ๊นƒ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ์ผ ์ด๋‹ˆ์…œ๋ผ์ด์ €๋ฅผ ์ •์˜ํ•˜๋ฉด ์ดˆ๊ธฐํ™” ๊ณผ์ • ์ง์ ‘ ๊ตฌํ˜„ ๊ฐ€๋Šฅ ( ์ด๋‹ˆ์…œ๋ผ์ด์ €์˜ ์—ญํ• ์€ ๊ทธ์ € ์ธ์Šคํ„ด์Šค์˜ ์ฒซ ์‚ฌ์šฉ์„ ์œ„ํ•ด ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๊ฒƒ๋ฟ ) init ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋‹ˆ์…œ๋ผ์ด์ € ๋งค์„œ๋“œ์ž„์„ ํ‘œํ˜„ ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์˜ ๊ธฐ๋ณธ์ ์ธ ํ˜•ํƒœ์˜ ์ด๋‹ˆ์…œ๋ผ์ด์ € Class SomeCLass{ init(){ // ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ํ•„์š”ํ•œ ์ฝ”๋“œ } } struct SomeStruct{ init(){ // ์ดˆ๊ธฐํ™”ํ•  ๋•Œ ํ•„์š”ํ•œ ์ฝ”๋“œ } } enum SomeEnum{ case someCase init(){ // ์—ด๊ฑฐํ˜•์€ ์ดˆ..