๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Swift11 - ํ”„๋กœํผํ‹ฐ Properties Properties associate values with a particular class, structure, or enumeration. Stored properties store constant and variable values as part of an instance, whereas computed properties calculate (rather than store) a value. Computed properties are provided by classes, structures, and enumerations. Stored properties are provided only by classes and structures. ํ”„๋กœํผํ‹ฐ๋ž€ - ์ €์žฅ ํ”„๋กœํผํ‹ฐ๋Š” ๊ตฌ์กฐ์ฒด, ํด๋ž˜์Šค.. 2021. 2. 2.
Swift10 - first class citizen 1๊ธ‰๊ฐ์ฒด๋ž€? - ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋””์ž์ธ์—์„œ, ์ผ๊ธ‰ ๊ฐ์ฒด๋ž€ ๋‹ค๋ฅธ ๊ฐ์ฒด๋“ค์— ์ผ๋ฐ˜์ ์œผ๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์„ ๋ชจ๋‘ ์ง€์›ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. - ๋ณดํ†ต ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ธฐ๊ธฐ, ์ˆ˜์ •ํ•˜๊ธฐ, ๋ณ€์ˆ˜์— ๋Œ€์ž…ํ•˜๊ธฐ์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ์ง€์›ํ•  ๋•Œ ์ผ๊ธ‰ ๊ฐ์ฒด๋ผ๊ณ  ํ•œ๋‹ค. - ์ผ๊ธ‰๊ฐ์ฒด๋Š” ๋ฌด์Šจ ํ˜œํƒ์„ ๋ฐ›๋Š”๋‹ค๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉํ•  ๋•Œ ๋‹ค๋ฅธ ์š”์†Œ๋“ค๊ณผ ์•„๋ฌด๋Ÿฐ ์ฐจ๋ณ„์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•œ๋‹ค. - ์ •์ˆ˜์™€ ์‹ค์ˆ˜์ฒ˜๋Ÿผ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์Šค์นผ๋ผ ์ž๋ฃŒํ˜•์€ ๋Œ€๋ถ€๋ถ„ ์ผ๊ธ‰ ๊ฐ์ฒด์ด๋‹ค. - ์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ํด๋กœ์ €๋ฅผ ํ†ตํ•ด ์ผ๊ธ‰ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ ์ผ๊ธ‰ ๊ฐ์ฒด์™€ ์ด๊ธ‰ ๊ฐ์ฒด. ALGOL์—์„œ ์‹ค์ˆ˜๋Š” ํ‘œํ˜„์‹์— ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ณ€์ˆ˜์— ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”„๋กœ์‹œ์ €์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋„˜๊ฒจ์งˆ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํ”„๋กœ์‹œ์ €์˜ ๊ฒฝ์šฐ ํ”„๋กœ์‹œ์ € ์ฝœ์—์„œ ํ˜ธ์ถœ ๋Œ€์ƒ ํ˜น์€ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ๋“ฑ์žฅํ•  ์ˆ˜ ์žˆ์„ ๋ฟ์ด๋ฉฐ, ํ”„๋กœ์‹œ์ €.. 2021. 2. 2.
Swift09 - ํด๋กœ์ € Closures Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages. ํด๋กœ์ €๋ž€? ํด๋กœ์ €๋Š” ์‹คํ–‰๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ๋ธ”๋Ÿญ์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ์ด๋ฆ„์ •์˜๋Š” ํ•„์š”ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ, ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ๊ณผ ๋ฐ˜ํ™˜ ๊ฐ’์ด ์กด์žฌ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ํ•จ์ˆ˜๋Š” ์ด๋ฆ„์ด ์žˆ๋Š” ํด๋กœ์ €์ž…๋‹ˆ๋‹ค. ์ผ๊ธ‰๊ฐ์ฒด๋กœ ์ „๋‹ฌ์ธ์ž, ๋ณ€์ˆ˜, ์ƒ์ˆ˜ ๋“ฑ์— ์ €์žฅ ๋ฐ ์ „๋‹ฌ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํด๋กœ์ €๋Š” ํ•จ์ˆ˜์˜ ์ „๋‹ฌ์ธ์ž์ธ ์ฝœ๋ฐฑํ•จ์ˆ˜๋กœ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค ๊ธฐ๋ณธ ํด๋กœ์ €.. 2021. 2. 2.
Swift08 - ๊ฐ’ ํƒ€์ž… vs ์ฐธ์กฐํƒ€์ž… ๊ฐ’ ํƒ€์ž…(Value Type) ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ ํ•  ๋•Œ ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ์กฐ์ฒด ์—ด๊ฑฐํ˜• ๊ฐ’ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์—ฐ๊ด€๋œ ๋ช‡๋ช‡์˜ ๊ฐ’๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๊ฐ์ฒด ๋˜๋Š” ํ•จ์ˆ˜ ๋“ฑ์œผ๋กœ ์ „๋‹ฌ๋  ๋•Œ ์ฐธ์กฐ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ณต์‚ฌ(๊ฐ’ ๋ณต์‚ฌ) ํ•  ๊ฒฝ์šฐ ์ž์‹ ์„ ์ƒ์†ํ•  ํ•„์š”๊ฐ€ ์—†๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ํƒ€์ž…์„ ์ƒ์† ๋ฐ›์„ ํ•„์š”๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์Šค์œ„ํ”„ํŠธ์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋ชจ๋‘ ๊ตฌ์กฐ์ฒด๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ์Šค์œ„์ŠคํŠธ๋Š” ๊ตฌ์กฐ์ฒด์™€ ์—ด๊ฑฐํ˜• ์‚ฌ์šฉ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. struct ValueType { var property = 1 } // ์ฒซ ๋ฒˆ์งธ ๊ตฌ์กฐ์ฒด ์ธ์Šคํ„ด์Šค let firstStructInstance = ValueType() // ๋‘ ๋ฒˆ์งธ ๊ตฌ์กฐ์ฒด ์ธ์Šคํ„ด์Šค์— ์ฒซ ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค ๊ฐ’ ๋ณต์‚ฌ var secondStructInsta.. 2021. 2. 1.
Switf07 - ๊ตฌ์กฐ์ฒด vs ํด๋ž˜์Šค vs ์—ด๊ฑฐํ˜• ํด๋ž˜์Šค - ๋‹จ์ผ์ƒ์† - ํ”„๋กœํผํ‹ฐ, ๋ฉ”์„œ๋“œ ๊ฐ–๋Š”๋‹ค - ์ฐธ์กฐํƒ€์ž… - appleํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋Œ€๋ถ€๋ถ„์˜ ํฐ ๋ผˆ๋Œ€๋Š” ๋ชจ๋‘ ํด๋ž˜์Šค๋กœ ๊ตฌ์„ฑ ๊ตฌ์กฐ์ฒด - ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๊ตฌ์กฐ์ฒด๋ณด๋‹ค ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–๋Š”๋‹ค - ์ƒ์† ๋ถˆ๊ฐ€ - ํ”„๋กœํผํ‹ฐ, ๋ฉ”์„œ๋“œ ๊ฐ–๋Š”๋‹ค - ๊ฐ‘ ํƒ€์ž… - swift์˜ ๋Œ€๋ถ€๋ถ„์˜ ํฐ ๋ผˆ๋Œ€๋Š” ๊ตฌ์กฐ์ฒด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค ์—ด๊ฑฐํ˜• - ์ƒ์†๋ถˆ๊ฐ€ - ์—ด๊ฑฐํ˜• ์ž์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ๊ฐ’ ํƒ€์ž… - ์—ด๊ฑฐํ˜• case ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์œ ์˜๋ฏธํ•œ ๊ฐ’ - ๊ฐ’ํƒ€์ž… 2021. 2. 1.
Swift-06 ์—ด๊ฑฐํ˜• Enumerations An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code. ์—ด๊ฑฐํ˜•์ด๋ž€? - ์œ ์‚ฌํ•œ ์ข…๋ฅ˜์˜ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•œ ๊ณณ์— ๋ชจ์•„์„œ ์ •์˜ํ•œ ๊ฒƒ. - enum ์ž์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž… - ๋Œ€๋ฌธ์ž ์นด๋ฉœ์ผ€์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฆ„์„ ์ •์˜. - ๊ฐ case๋Š” ๊ทธ ์ž์ฒด๊ฐ€ ๊ณ ์œ ์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค.(๊ฐ case์— ์ž๋™์œผ๋กœ ์ •์ˆ˜๊ฐ’์ด ํ• ๋‹น๋˜์ง€ ์•Š์Œ) - ๊ฐ case๋Š” ์†Œ๋ฌธ์ž ์นด๋ฉœ์ผ€์ด์Šค๋กœ ์ •์˜ - ๊ฐ case๋Š” ํ•œ ์ค„์— ๊ฐœ๋ณ„๋กœ๋„, ํ•œ ์ค„์— ์—ฌ๋Ÿฌ๊ฐœ๋„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. enum Weekday { case mon case tue.. 2021. 2. 1.