[iOS] WWDC22 - Design protocol interface in Swift ์„ธ์…˜

Madeline๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ปยท2024๋…„ 1์›” 11์ผ
0

iOS study

๋ชฉ๋ก ๋ณด๊ธฐ
32/50

๐Ÿซฅ

๋ ˆํผ๋Ÿฐ์Šค ์˜์ƒ:
https://developer.apple.com/videos/play/wwdc2022/110353/

1. ๋ฐ˜ํ™˜ ํƒ€์ž… ์‚ญ์ œ Type erasure semantics

associated ํƒ€์ž…์„ ๊ฐ€์ง„ ํ”„๋กœํ† ์ฝœ์ด existential ํƒ€์ž…๊ณผ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด๋ณด์ž.

2๊ฐœ์˜ ํ”„๋กœํ† ์ฝœ, 4๊ฐœ์˜ concrete ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์žˆ๋‹ค.
๋™๋ฌผ์€ ๋‹ญ, ์†Œ ์ข…๋ฅ˜๊ฐ€ ์žˆ๊ณ , ์Œ์‹์€ ๊ณ„๋ž€, ์šฐ์œ  ์ข…๋ฅ˜๊ฐ€ ์žˆ๋‹ค.

๋‹ญ์€ ์•Œ์„ ์ƒ์‚ฐํ•˜๊ณ , ์†Œ๋Š” ์šฐ์œ ๋ฅผ ์ƒ์‚ฐํ•œ๋‹ค.

์Œ์‹ ์ƒ์‚ฐ์„ ์ถ”์ƒํ™”ํ•˜๊ธฐ ์œ„ํ•ด Animal ํ”„๋กœํ† ์ฝœ์— producer() ๋ฉ”์„œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
Cow, Chicken์— ๋Œ€ํ•œ produce()์˜ ๋‹ค์–‘ํ•œ ๋ฆฌํ„ด ์œ ํ˜•์„ ์ถ”์ƒํ™”ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ associated ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ!์ด๋ผ๊ณ  "WWDC22 Embrace Swift Generics"์—์„œ ์–˜๊ธฐํ–ˆ๋‹จ๋‹ค,,

associated ํƒ€์ž…์„ ์‚ฌ์šฉํ•  ๋•Œ ์œ„์™€๊ฐ™์ด ์„ ์–ธํ•œ๋‹ค.
ํŠน์ • ์œ ํ˜•์˜ Animal์ด ์ฃผ์–ด์ง€๋ฉด, producer()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด, ๊ตฌ์ฒด์ ์ธ Animal ํƒ€์ž…์— ๋”ฐ๋ผ ํŠน์ • ์œ ํ˜•์˜ Food๊ฐ€ ๋ฐ˜ํ™˜๋œ๋‹ค.

2. Hide Implementation Details

3. Identify type relationships

profile
Major interest in iOS ๐Ÿ€ & ๐ŸŽ

0๊ฐœ์˜ ๋Œ“๊ธ€