# ๐Ÿ“Œ ๋จธ์“ฑํƒ€๋“œ...;; ๋จธ์Šคํ„ฐ๋””(Mustudy) ![๋จธ์“ฑํƒ€๋“œ...;;](https://mblogthumb-phinf.pstatic.net/MjAxODA3MDlfMTMx/MDAxNTMxMTE1MDUyMzA1.AbJvBOhqQwzq6XF78LWPAAU3tXe7yMGLM2EZsjUNdjAg.KT0i8hUiGyDCDm7_ZR_hvLgrc-U2Oi7nykxY-ANokxgg.JPEG.pikachusl/36751506_493962347725111_8505883185823875072_n.jpg?type=w800) ## ๐Ÿ‘จโ€๐Ÿ‘ฉโ€๐Ÿ‘งโ€๐Ÿ‘ฆ ์Šคํ„ฐ๋””์› Wonbi๐ŸŒ™, SummerCat๐Ÿˆ, Stone๐Ÿชจ, minii๐Ÿš—, ๋ฑ€๐Ÿ, ํ•˜๋ชจ(ํƒœ๋ฆฌ)๐Ÿฆฆ, Kyo๐Ÿบ, zhilly๐Ÿ”ฅ, Dragon๐Ÿ‰, somโ˜๏ธ, LJ๐ŸŒต, woong๐Ÿ”, ํ† ํ„ธ์ด๐ŸŒˆ ## ์กฐ ํŽธ์„ฑ 1 : ํ•˜๋ชจ(ํƒœ๋ฆฌ)๐Ÿฆฆ zhilly๐Ÿ”ฅ ๋ฑ€๐Ÿ 2 : SummerCat๐Ÿˆ Kyo๐Ÿบ Dragon๐Ÿ‰ ํ† ํ„ธ์ด๐ŸŒˆ 3 : minii๐Ÿš— somโ˜๏ธ LJ๐ŸŒต 4 : woong๐Ÿ” Wonbi๐ŸŒ™ Stone๐Ÿชจ --- - **์–‘์‹์„ ํ•ด์น˜์ง€ ์•Š๋Š” ์„ ์—์„œ ์ž์œ ๋กญ๊ฒŒ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!** ### ๐Ÿ’ก์ฒซ ์Šคํ„ฐ๋”” OT๋‚ ์งœ๋Š” 8์›” 31์ผ ์ˆ˜์š”์ผ 9์‹œ ์ž…๋‹ˆ๋‹ค! - ์˜คํ‹ฐ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ , ์Šคํ„ฐ๋”” ์ธ์›์„ ๋‚˜๋ˆ„๊ณ , ์Šค์ผ€์ฅด์„ ์กฐ์ ˆํ•  ์˜ˆ์ •์ด์—์š”! ๋ฌผ๋ก  ๋‹ค์Œ ์Šคํ„ฐ๋”” ์ฃผ์ œ ์„ ์ •๋„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค! ### โœ… ์Šคํ„ฐ๋”” ๋ชฉ์  - ์—‘์Šค์ฝ”๋“œ ์•ž์—์„œ ํ•œ์—†์ด **๋จธ์“ฑ...๐Ÿ˜… ์ฝ”์“ฑ...๐Ÿฅฒ** ํ•ด์ง€๋Š” ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•ด ๊ณต์‹ ๋ฌธ์„œ ์Šคํ„ฐ๋””๋ฅผ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ### โœ… ๊ณต๋ถ€ ๋‚ด์šฉ - the swift programming language - API Design Guidelines - Human Interface Guidelines - *๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด.. `๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด`๋„..?* - *๊ทธ๋ฆฌ๊ณ .. SOLID๋‚˜.. ๋””์ž์ธ ํŒจํ„ด.. ์š”๋Ÿฐ ๋ถ€๋ถ„๋“ค๋„.. ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด..?* ### โœ… ์ง„ํ–‰ ๋‚ ์งœ - ๊ธฐ๋ณธ์ ์œผ๋กœ ์ผ์ฃผ์ผ์— ํ•œ๋ฒˆ ์ •๋„๋กœ ์ƒ๊ฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. - ๋งค์ฃผ ์ˆ˜์š”์ผ ์˜ค์ „ 9์‹œ ๋ถ€ํ„ฐ 1~2์‹œ๊ฐ„ ์ •๋„! ### โœ… ์ง„๋„ (์Šคํ„ฐ๋”” OT ํ›„ ์žฌ๋…ผ์˜) - ํ•œ์ฃผ์— ํ•œ ํŒŒํŠธ์”ฉ ๊ณต๋ถ€ - ํ•œ ์กฐ ์ธ์›์ด 4๋ช…์ผ ๊ฒฝ์šฐ, Swift Language Guide์˜ ํฐ ํŒŒํŠธ ๊ฐ 1๊ฐœ๋ฅผ ๊ฐ๊ฐ ์ค€๋น„ = ์Šคํ„ฐ๋”” ๋‚  ์ด 4๊ฐœ์˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋จ! - ํ”„๋กœ์ ํŠธ์—์„œ ๊ณต๋ถ€ํ•˜๋ผ๊ณ  ์š”๊ตฌํ•œ ๋ถ€๋ถ„์„ ์šฐ์„ ์ ์œผ๋กœ ์„ ์ •ํ•˜์—ฌ ๊ณต๋ถ€ํ•ฉ๋‹ˆ๋‹ค. ### โœ… ์ง„ํ–‰ ๋ฐฉ์‹ (์Šคํ„ฐ๋”” OT ํ›„ ์žฌ๋…ผ์˜) --- - โ—๏ธ **์ผ์ฃผ์ผ๋™์•ˆ ์˜ˆ์ œ๋ฅผ *ํ•˜๋‚˜๋„!* ์•ˆ ๋งŒ๋“ค๊ณ  ์˜ค์‹  ๋ถ„๋“ค์€ ๋‹น์ผ ์Šคํ„ฐ๋””๋•Œ ์Šคํ„ฐ๋”” ์›๋“ค์—๊ฒŒ ์ปคํ”ผ ์‚ฌ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. `์Šคํƒ€๋ฒ…์Šค`๋กœ ์‚ฌ์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. *์ด๋””์•ผ ์•ˆ๋ฉ๋‹ˆ๋‹ค.* ๋ฉ”๋‰ด๋Š” ์Šคํ„ฐ๋””์›๊ณผ ๊ณ ๋ฏผํ•˜์‹ญ์‹œ์˜ค. ๋‚ ๋จน ๊ธˆ์ง€! (์ง„์ง€)** โ—๏ธ - ๋ณ„๋‹ค๋ฐฉ๋งŒ ๋ฉ๋‹ˆ๋‹ค. - ์ฐธ๊ณ  : ์ „์ฒด ์ธ์› ํ•ฉํ•˜๋ฉด 5๋งŒ์›...! - ์ €๋Š” ์ž๋ฐ”์นฉ ํ”„๋ผํ‘ธ์น˜๋…ธ - ์ €๋Š” ์ž๋ชฝํ—ˆ๋‹ˆ๋ธ”๋ž™ํ‹ฐ ๋ฒคํ‹ฐ๋กœ..X 2 - ์ €๋Š” ์•„์ด์Šค ์•„๋ฉ”๋ฆฌ์นด๋…ธ --- #### ์Šคํ„ฐ๋”” ์ง„ํ–‰ ๋ฐฉ์‹ (์˜ˆ์ œ) - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„๊นŒ์ง€ ๊ฐ์ž ๋งก์•˜๋˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ - ๋ฌธ์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์˜ค๊ธฐ - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„์— ๊ฐ์ž ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊ณต์œ ํ•˜๊ธฐ - ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ธฐ - ์Šคํ„ฐ๋””๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์— ํ•œํ•ด ์ž์‹ ์˜ ๊ณต๋ถ€๋‚ด์šฉ๊ณผ ์Šคํ„ฐ๋””์—์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ๊นƒํ—™์— ์—…๋กœ๋“œํ•˜๊ธฐ ### ์กฐ๋ณ„ ์Šคํ„ฐ๋”” ์ง„ํ–‰๋ฐฉ์‹ #### 1์กฐ - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„๊นŒ์ง€ ๊ฐ์ž ๋งก์•˜๋˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ - ๋ฌธ์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์˜ค๊ธฐ - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„์— ๊ฐ์ž ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊ณต์œ ํ•˜๊ธฐ - ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ธฐ - ์Šคํ„ฐ๋””๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์— ํ•œํ•ด ์ž์‹ ์˜ ๊ณต๋ถ€๋‚ด์šฉ๊ณผ ์Šคํ„ฐ๋””์—์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ๊นƒํ—™์— ์—…๋กœ๋“œํ•˜๊ธฐ #### 2์กฐ - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„๊นŒ์ง€ ๊ฐ์ž ๋งก์•˜๋˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ - ๋ฌธ์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์˜ค๊ธฐ (๋งŒ๋“ค๊ธฐ ๋„ˆ๋ฌด ํž˜๋“ค๋ฉด ๋ฌธ์„œ์˜ ์˜ˆ์ œ๋ฅผ ํ™œ์šฉํ•ด๋„ ๋œ๋‹ค.) - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„์— ๊ฐ์ž ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊ณต์œ ํ•˜๊ธฐ - ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ธฐ - ์Šคํ„ฐ๋””๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ๊ณต๋ถ€๋‚ด์šฉ๊ณผ ์Šคํ„ฐ๋””์—์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ๋…ธ์…˜์— ์—…๋กœ๋“œํ•˜๊ธฐ > ๋…ธ์…˜๋งํฌ : https://www.notion.so/c4c5c32792894cf6ab577673296b3d5f #### 3์กฐ - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„๊นŒ์ง€ ๊ฐ์ž ๋งก์•˜๋˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ - ๋ฌธ์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์˜ค๊ธฐ (๋งŒ๋“ค๊ธฐ ๋„ˆ๋ฌด ํž˜๋“ค๋ฉด ๋ฌธ์„œ์˜ ์˜ˆ์ œ๋ฅผ ํ™œ์šฉํ•ด๋„ ๋œ๋‹ค.) - ์Šคํ„ฐ๋”” ์‹œ๊ฐ„์— ๊ฐ์ž ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊ณต์œ ํ•˜๊ธฐ - ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ธฐ - ์Šคํ„ฐ๋””๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์— ํ•œํ•ด ์ž์‹ ์˜ ๊ณต๋ถ€๋‚ด์šฉ๊ณผ ์Šคํ„ฐ๋””์—์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ ๊นƒํ—™์— ์—…๋กœ๋“œํ•˜๊ธฐ - ์˜ˆ์ œ๋ฅผ ์•ˆ ๋งŒ๋“  ์‚ฌ๋žŒ์ด ์Šคํƒ€๋ฒ…์Šค ์ด์™ธ์— ํŒ€์›์—๊ฒŒ ์›ํ•˜๋Š” ์Œ๋ฃŒ ์‚ฌ์ฃผ๊ธฐ๐Ÿน #### 4์กฐ - 1๏ธโƒฃ ์Šคํ„ฐ๋”” ์‹œ๊ฐ„๊นŒ์ง€ ๊ฐ์ž ๋งก์•˜๋˜ ํŒŒํŠธ๋ฅผ ๊ณต๋ถ€ํ•ด์˜ค๊ธฐ. - 2๏ธโƒฃ ๋ฌธ์„œ๋ฅผ ํ† ๋Œ€๋กœ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋งŒ๋“ค์–ด์˜ค๊ธฐ. (๋งŒ๋“ค๊ธฐ ๋„ˆ๋ฌด ํž˜๋“ค๋ฉด ๋ฌธ์„œ์˜ ์˜ˆ์ œ๋ฅผ ํ™œ์šฉํ•ด๋„ ๋œ๋‹ค.) - 3๏ธโƒฃ ์Šคํ„ฐ๋”” ์‹œ๊ฐ„์— ๊ฐ์ž ๋งŒ๋“  ์˜ˆ์ œ๋ฅผ ํ† ๋Œ€๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊ณต์œ ํ•˜๊ธฐ. - 4๏ธโƒฃ ์งˆ์˜์‘๋‹ต ์‹œ๊ฐ„์„ ๊ฐ€์ง€๊ธฐ. - 5๏ธโƒฃ ์Šคํ„ฐ๋””๊ฐ€ ์ข…๋ฃŒ๋œ ํ›„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ์— ํ•œํ•ด ์Šคํ„ฐ๋””์—์„œ ๋‚˜์˜จ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์—ฌ HackMD ์ด ๋ฌธ์„œ์— ์ •๋ฆฌํ•˜๊ธฐ. - ๐Ÿ’ก ์›ํ•œ๋‹ค๋ฉด ๊ทธ ๋‚ด์šฉ์„ ๊ฐ์ž์˜ ๊นƒํ—ˆ๋ธŒ, ๋ธ”๋กœ๊ทธ, ๋“ฑ๋“ฑ์— ๋„ฃ์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค! ## 8์›” 31์ผ ์Šคํ„ฐ๋”” ๋‚ด์šฉ ### 1์กฐ #### 1์ฃผ์ฐจ ํŒŒํŠธ ### 2์กฐ #### ๐Ÿ”ฅ1์ฃผ์ฐจ ํŒŒํŠธ๐Ÿ”ฅ - SummerCat๐Ÿˆ : Swift Language Guide - Access Control (์ด๋‹ˆ์…œ๋ผ์ด์ œ์ด์…˜์€ ํ† ํ„ธ์ด์—๊ฒŒ ์–‘๋ณด..โญ๏ธ) - Kyo๐Ÿบ : Swift Language Guide - Type Casting (์š”๊ฑฐ๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž) - Dragon๐Ÿ‰ : Swift Language Guide - Nested Types, Swift Language Guide - Error Handling (์ €๋Š” ์š”๋กท๊ฒŒ ๋‘๊ฐœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค!) - ํ† ํ„ธ์ด : Swift Language Guide - Initialization ### 3์กฐ #### ๐Ÿ‘ฉโ€๐Ÿ’ป1์ฃผ์ฐจ ํŒŒํŠธ๐Ÿง‘โ€๐Ÿ’ป - minii๐Ÿš—: Swift Language Guide - Initialization - somโ˜๏ธ: Swift Language Guide - Type Casting - LJ๐ŸŒต: Swift Language Guide - Access Control ### 4์กฐ #### ๐Ÿ”ฅ1์ฃผ์ฐจ ํŒŒํŠธ๐Ÿ”ฅ - woong๐Ÿ”: Swift Language Guide - Access Control - Wonbi๐ŸŒ™: Swift Language Guide - Initialization - Stone๐Ÿชจ: Swift Language Guide - Error Handling - ์‹œ๊ฐ„์ด ๋‚จ๋Š” ์กฐ์›์ด ์žˆ๋‹ค๋ฉด.. : Swift Language Guide - Nested Types, Type Casting