Contents

Swift์— ๋Œ€ํ•˜์—ฌ

   Aug 11, 2023     1 min read

Swift์— ๋Œ€ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

iOS์— ๋Œ€ํ•œ ํ•™์Šต์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์ด ์™€์„œ ์•Œ์•„๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜๋ฅผ ์•Œ์•„๋ณด๋˜ ์ค‘ iOS ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์ธ swift๋ผ๋Š” ์–ธ์–ด์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•ด์ ธ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

Swift๋ž€?

Swift๋Š” Apple์ด iOS, macOS, watchOS, tvOS์™€ ๊ฐ™์€ ์ œํ’ˆ์„ ์œ„ํ•ด ๊ฐœ๋ฐœํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. 2014๋…„์— ์ฒ˜์Œ ๊ณต๊ฐœ๋˜์—ˆ์œผ๋ฉฐ, Objective-C์™€ ํ˜ธํ™˜๋˜๊ฒŒ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ C์–ธ์–ด์™€ ๋น„๊ตํ•˜๋ฉด ์ƒ๋Œ€์ ์œผ๋กœ ์“ฐ๊ธฐ ์‰ฝ๊ณ , ์•ˆ์ „ํ•˜๋ฉฐ, ๋น ๋ฅด๋‹ค๋Š” ๊ฒƒ์ด ํŠน์ง•์ž…๋‹ˆ๋‹ค.

Swift๋Š” ์• ํ”Œ์˜ ๊ธฐ๊ธฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฆฌ๋ˆ…์Šค์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ”Œ๋žซํผ์—์„œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปค๋ฎค๋‹ˆํ‹ฐ ์ฃผ๋„ ํ”„๋กœ์ ํŠธ์ธ Swift on Server๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๊ฐœ๋ฐœ์—๋„ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฒ„์ „์˜ Swift๋Š” ์˜ต์…”๋„ ์ฒ˜๋ฆฌ, ํŒจํ„ด ๋งค์นญ, ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„๊ณผ ๊ฐ™์€ ํ˜„๋Œ€์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ง•

Swift๋Š” ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ๊ฐ•์กฐํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ , ์ฝ”๋“œ์˜ ๋ช…ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์„ฑ์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋”์šฑ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Objective-C์™€ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ํ•˜์—ฌ ๊ฐ™์ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด Objective-C๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”??

Objective-C๋ž€?

Objective-C๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. C์–ธ์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, Smalltalk์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋œ ํ˜•ํƒœ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ์—์„œ macOS์™€ iOS์˜ ๊ธฐ๋ณธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฑ„ํƒ๋˜์—ˆ์œผ๋ฉฐ, ๊ทธ ํ›„ ์ˆ˜๋…„ ๋™์•ˆ ๋งŽ์€ ์• ํ”Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ Objective-C๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์–ธ์–ด์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋˜๋ฏ€๋กœ, C ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฌธ๋ฒ•์€ ๋ณต์žกํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ถ€๋ถ„์€ ๋‹ค๋ฃจ๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ์€ Objective-C์˜ ํ›„์†์œผ๋กœ Swift๋ฅผ ์†Œ๊ฐœํ•˜์˜€์œผ๋ฉฐ, ์ด๋กœ ์ธํ•ด Objective-C์˜ ์ค‘์š”์„ฑ์€ ์ ์ฐจ ๊ฐ์†Œํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์—ฌ์ „ํžˆ ๋งŽ์€ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์™€ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.