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

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

Objective-C๋Š” ์ฒ˜์Œ์—๋Š” ๋งŽ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์–ด๋ ค์›€์„ ์ฃผ์ง€๋งŒ ์—„์ฒญ๋‚œ ๊ฐ€๋…์„ฑ๊ณผ ๋ช…ํ™•์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ๋ฉ”์‹œ์ง• ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ช…๋ช…๋œ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ์ฝ”๋“œ๋ฅผ ๋”์šฑ ํ‘œํ˜„๋ ฅ ์žˆ๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Objective-C์˜ ์ผ๋ฐ˜์ ์ธ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

[myObject doSomethingWithA:๋งค๊ฐœ๋ณ€์ˆ˜A ๋ฐ B:๋งค๊ฐœ๋ณ€์ˆ˜B];

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

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

AppMasterno-code ํ”Œ๋žซํผ์€ ์ฃผ๋กœ iOS์šฉ SwiftUI ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๋กœ Objective-C๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ์งธ, Objective-C์— ์ต์ˆ™ํ•ด์ง€๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ iOS ์•ฑ ๊ฐœ๋ฐœ์˜ ๊ธฐ์ดˆ๋ฅผ ์ดํ•ดํ•˜๊ณ  Apple์ด Swift๋กœ ์ „ํ™˜ํ•œ ๊ณผ์ •์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ์ปจํ…์ŠคํŠธ๋Š” Objective-C๋กœ ๊ฐœ๋ฐœ๋œ API ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์ž‘์—…ํ•  ๋•Œ ๊ท€์ค‘ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ์ „ํžˆ ํ•ด๋‹น ์–ธ์–ด์— ์˜์กดํ•˜๋Š” ๋ ˆ๊ฑฐ์‹œ iOS ํ”„๋กœ์ ํŠธ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ Objective-C๋ฅผ ์•„๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ, iOS ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์œผ๋กœ ๋‚จ์•„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€์˜ ํšจ๊ณผ์ ์ธ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

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