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 ์ฑ ๊ฐ๋ฐ ๊ฒฝํ์ ํ๋ถํจ๊ณผ ๊น์ด์ ๊ณ์ํด์ ๊ธฐ์ฌํ๊ณ ์์ต๋๋ค.