[Swift] final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š”??

class๋‚˜ func๋“ฑ์„ ์ •์˜ํ•  ๋•Œ, ์šฐ๋ฆฌ๋Š” ์•ž์— final์ด๋ผ๋Š” ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ๋Š” ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฐ final์˜ ์—ญํ• ์€ ์–ด๋–ค ๊ฒƒ์ผ๊นŒ์š”?? ์šฐ์„  ๊ธฐ๋ณธ์ ์œผ๋กœ, final์€ ๋ง ๊ทธ๋Œ€๋กœ '๋งˆ์ง€๋ง‰, ์œ ์ผํ•œ'์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ฆ‰, class์•ž์— final์„ ๋ถ™์ด๊ฒŒ๋˜๋ฉด ํ•ด๋‹น class๋Š” '์ƒ์†ํ•  ์ˆ˜ ์—†๋Š” class'๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. import Foundation final class ์ƒ์†๋ถˆ๊ฐ€๋Šฅํ•œํด๋ž˜์Šค{ } class final์„_์ƒ์†ํ•ด๋ณผ๊นŒ : ์ƒ์†๋ถˆ๊ฐ€๋Šฅํ•œํด๋ž˜์Šค{ // [Inheritance from a final class '์ƒ์†๋ถˆ๊ฐ€๋Šฅํ•œํด๋ž˜์Šค'] ๋ผ๋Š” error๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. } ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, func์— final์„ ๋ถ™์ด๊ฒŒ ๋˜๋ฉด 'overrideํ•  ์ˆ˜ ์—†๋Š” func'๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค..

๐ŸŽ/Swift 2023. 2. 8. 06:52
[Swift] lazy ํ‚ค์›Œ๋“œ๋ž€?

ํ”ํžˆ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ๋งŽ์ด ๋“ฃ๋Š” ์กฐ์–ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. "์ข‹์€ iOS๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๋ฉด, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์— ์‹ ๊ฒฝ์„ ๋งŽ์ด ์จ์•ผํ•ด~~" ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€๋ฅผ ํ•  ๋•Œ๋‚˜ '๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”'์— ๋งŽ์€ ๊ณต์„ ๋“ค์ด๊ณ ๋Š” ํ•˜์ง€๋งŒ, ์‚ฌ์‹ค App๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ๋„ ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”๋Š” ๊ฐ€ํžˆ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋Œ€์ฒด๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ’€ ๋•Œ '๋™์ ํ• ๋‹น' ์ด๋ผ๋Š” ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ์‹œ์šฉ๋Ÿ‰์„ ์ค„์ด๋Š”๋ฐ, ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ iOS ๊ฐœ๋ฐœ์—๋„ run-time์— ๋ณ€์ˆ˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹นํ•˜๋Š” lazy๋ผ๋Š” ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค! ์• ํ”Œ์˜ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฐพ์•„๋ณด๋ฉด lazy์— ๋Œ€ํ•ด ์ด๋ ‡๊ฒŒ ์ •์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. (์ œ๊ฐ€ ์ดํ•ดํ•œ ๋Œ€๋กœ ์ž์ฒด๋ฒˆ์—ญ ํ•˜์˜€์Šต๋‹ˆ๋‹ค,,) lazy property๋Š” ์ด property๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์ „ ๊นŒ์ง€๋Š”, ์ดˆ๊ธฐ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š” property์ž…๋‹ˆ๋‹ค. ์œ ์ €๋Š”, property์•ž..

๐ŸŽ/Swift 2023. 1. 30. 03:50
๋ฐ˜์‘ํ˜•
๋งํฌ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
Total
Today
Yesterday