์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
Cocoa(API)์์ ๋์ด์ด
1. Cocoa[ํธ์ง]
Cocoa Framework
Apple์์ iOS, macOS ๋ฑ์ Apple ์ด์ ์ฒด์ ์ฉ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ ๋ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ. ์ด๊ธฐ์ Apple์ด NeXT์์ ์ด๊ฑธ ์์ ๋๋ ๋ธ๋ฃจ ๋ฐ์ค๋ผ๊ณ ๋ถ๋ฆฌ๋ค๊ฐ. ์ด์ ๋ Cocoa๋ผ ๋ถ๋ฆฐ๋ค. Objective-C์๋ C++ ๊ฐ์ ๋ค์์คํ์ด์ค๊ฐ ๋ฐ๋ก ์๊ธฐ ๋๋ฌธ์, ์ถฉ๋์ ํผํ๊ธฐ ์ํด ๋ณดํต ํด๋์ค์ ์ด๋ฆ ์์ Prefix๋ฅผ ๋ถ์ธ๋ค. Foundation Kit ํ๋ ์์ํฌ ํด๋์ค๋ค์ ๋๋ถ์ ์ด๋ฆ์์ ์ฃ๋ค NS(NeXTSTEP์์ ๋ฐ์์ NS)๋ฅผ ๋ถ์ฌ๋์๋ค. NSString์ด๋ผ๋ ์ง NSArray๋ผ๋ ์ง...
๊ธฐ๋ณธ์ ์ธ ์๋ฃํ๊ณผ ๋ฉ์๋๊ฐ ์ ์๋์ด ์๋ Foundation Kit๊ณผ ์ฃผ๋ก UI ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ Application Kit์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ค์ฌ์ Foundation, AppKit์ด๋ผ๊ณ ๋ ํ๋ค. iOS ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉ๋๋ Cocoa Touch์์๋ Foundation์ ๋์ผํ๊ณ AppKit ๋์ AppKit์ ๊ธฐ๋ฐํ UIKit์ ์ฌ์ฉํ๋ค.
Objective-C ๊ธฐ๋ฐ์ด๋ฉฐ, ๋ณดํต Xcode๋ผ๋ IDE๋ฅผ ์ด์ฉํด์ ๊ฐ๋ฐ๋๋ค. OS X Lion ์ด์์ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฉด, Xcode๋ฅผ ๋ฌด๋ฃ๋ก ์ด์ฉํ ์ ์๋ค. ๋ฌผ๋ก Mac์์๋ง ์ฌ์ฉํ ์ ์๋ค. 2014๋ ์ ๊ณต๊ฐ๋ Apple์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Swift๊ฐ Cocoa ํ๋ ์์ํฌ์ ์๋ฒฝ ํธํ๋๊ธฐ ๋๋ฌธ์, ํ ์์ ์์๋ Obj-C ๋์ Swift๋ง ์๊ณ ์์ด๋ ์ถฉ๋ถํ๋ค.
์๋นํ ๋ง๊ณ ์ ์ฉํ ํด๋์ค๋ค๊ณผ UI ์ชฝ๋ค์ ์ง์์ด ๋งค์ฐ ์ ๋์ด์์ด์ ๊ฐ๋ฐ์ ์ ์ฅ์์๋ ๋งค์ฐ ํํํ ํ๋ ์์ํฌ๋ผ๊ณ ํ ์ ์๋ค. ์ ์ํ๋ UI๊ฐ ๋์ค์ง ์๋๋ผ๋ฉด ์๋ธํด๋์ฑ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ์ ๋ง์ ๋ง์ถ์ด ์ํ๋ ๋์์ธ์ ๋ง๋ค์ด๋ด๊ธฐ๊ฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ ํ ์ด์์ฒด์ (macOS, iOS, watchOS, tvOS) ํน์ ์ ๋์์ธ๊ณผ ๊ฐ๋ฐ์์ ์ฑํฅ์ด ์ ์ด์ฐ๋ฌ์ง UI๊ฐ ๋ง๋ค์ด์ง๋ค.์คํ ์ค๋ฒํ๋ก์ฐ์๋ ์๋ธํด๋์ฑ์ผ๋ก ๋ชจ๋ ๊ฒ์ ํด๋ด๋ ๊ดด๋ฌผ ํ๋ก๊ทธ๋๋จธ๋ค์ด ์๋ค ์นด๋๋ผ
ํนํ๋ ๋ฌธ์ํ๊ฐ ๋งค์ฐ ์ ๋์ด์๋ ํ๋ ์์ํฌ์ด๋ฏ๋ก Apple์ ๊ฐ๋ฐ์ ํํ์ด์ง์์ ์ด๋์ด ๊ฐ๋ฅํ ํด๋์ค/์๋ฃํ๋ณ ๋ฌธ์๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ์ด ํฐ ๋์์ด ๋๋ค.๋ฌผ๋ก ์์ด๊ฐ ๋๋ค๋ฉด ๋ง์ด๋ค
์ฌ๋ด์ผ๋ก, Cocoa๋ผ๋ ์ด๋ฆ์ ๊ทธ๋น์ ์ง๊ธ ์ด์์ผ๋ก ํซํ๋ ์ธ์ด์ธ Java๊ฐ ์ปคํผ์์ฐ์ง์์ ๋ฐ์จ ์ด๋ฆ์ด๊ธฐ ๋๋ฌธ์, Apple ๊ฐ๋ฐ์๋ ์ด๋ฆฐ์์ด๋ ํ ์ ์๋ ์๋ฐ(Java for kids)๋ผ๋ ์๋ฏธ์์ Cocoa๋ผ๊ณ ์ด๋ฆ์ง์๋ค๊ณ ํ๋ค.#
Apple์์ iOS, macOS ๋ฑ์ Apple ์ด์ ์ฒด์ ์ฉ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ ๋ ์ฌ์ฉํ๋ ํ๋ ์์ํฌ. ์ด๊ธฐ์ Apple์ด NeXT์์ ์ด๊ฑธ ์์ ๋๋ ๋ธ๋ฃจ ๋ฐ์ค๋ผ๊ณ ๋ถ๋ฆฌ๋ค๊ฐ. ์ด์ ๋ Cocoa๋ผ ๋ถ๋ฆฐ๋ค. Objective-C์๋ C++ ๊ฐ์ ๋ค์์คํ์ด์ค๊ฐ ๋ฐ๋ก ์๊ธฐ ๋๋ฌธ์, ์ถฉ๋์ ํผํ๊ธฐ ์ํด ๋ณดํต ํด๋์ค์ ์ด๋ฆ ์์ Prefix๋ฅผ ๋ถ์ธ๋ค. Foundation Kit ํ๋ ์์ํฌ ํด๋์ค๋ค์ ๋๋ถ์ ์ด๋ฆ์์ ์ฃ๋ค NS(NeXTSTEP์์ ๋ฐ์์ NS)๋ฅผ ๋ถ์ฌ๋์๋ค. NSString์ด๋ผ๋ ์ง NSArray๋ผ๋ ์ง...
๊ธฐ๋ณธ์ ์ธ ์๋ฃํ๊ณผ ๋ฉ์๋๊ฐ ์ ์๋์ด ์๋ Foundation Kit๊ณผ ์ฃผ๋ก UI ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ Application Kit์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ค์ฌ์ Foundation, AppKit์ด๋ผ๊ณ ๋ ํ๋ค. iOS ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ์ฉ๋๋ Cocoa Touch์์๋ Foundation์ ๋์ผํ๊ณ AppKit ๋์ AppKit์ ๊ธฐ๋ฐํ UIKit์ ์ฌ์ฉํ๋ค.
Objective-C ๊ธฐ๋ฐ์ด๋ฉฐ, ๋ณดํต Xcode๋ผ๋ IDE๋ฅผ ์ด์ฉํด์ ๊ฐ๋ฐ๋๋ค. OS X Lion ์ด์์ ์ด์์ฒด์ ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ฉด, Xcode๋ฅผ ๋ฌด๋ฃ๋ก ์ด์ฉํ ์ ์๋ค. ๋ฌผ๋ก Mac์์๋ง ์ฌ์ฉํ ์ ์๋ค. 2014๋ ์ ๊ณต๊ฐ๋ Apple์ ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด Swift๊ฐ Cocoa ํ๋ ์์ํฌ์ ์๋ฒฝ ํธํ๋๊ธฐ ๋๋ฌธ์, ํ ์์ ์์๋ Obj-C ๋์ Swift๋ง ์๊ณ ์์ด๋ ์ถฉ๋ถํ๋ค.
์๋นํ ๋ง๊ณ ์ ์ฉํ ํด๋์ค๋ค๊ณผ UI ์ชฝ๋ค์ ์ง์์ด ๋งค์ฐ ์ ๋์ด์์ด์ ๊ฐ๋ฐ์ ์ ์ฅ์์๋ ๋งค์ฐ ํํํ ํ๋ ์์ํฌ๋ผ๊ณ ํ ์ ์๋ค. ์ ์ํ๋ UI๊ฐ ๋์ค์ง ์๋๋ผ๋ฉด ์๋ธํด๋์ฑ์ผ๋ก ๊ฐ๋ฐ์๊ฐ ์ ๋ง์ ๋ง์ถ์ด ์ํ๋ ๋์์ธ์ ๋ง๋ค์ด๋ด๊ธฐ๊ฐ ์ฝ๊ธฐ ๋๋ฌธ์ ์ ํ ์ด์์ฒด์ (macOS, iOS, watchOS, tvOS) ํน์ ์ ๋์์ธ๊ณผ ๊ฐ๋ฐ์์ ์ฑํฅ์ด ์ ์ด์ฐ๋ฌ์ง UI๊ฐ ๋ง๋ค์ด์ง๋ค.
ํนํ๋ ๋ฌธ์ํ๊ฐ ๋งค์ฐ ์ ๋์ด์๋ ํ๋ ์์ํฌ์ด๋ฏ๋ก Apple์ ๊ฐ๋ฐ์ ํํ์ด์ง์์ ์ด๋์ด ๊ฐ๋ฅํ ํด๋์ค/์๋ฃํ๋ณ ๋ฌธ์๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ์ด ํฐ ๋์์ด ๋๋ค.
์ฌ๋ด์ผ๋ก, Cocoa๋ผ๋ ์ด๋ฆ์ ๊ทธ๋น์ ์ง๊ธ ์ด์์ผ๋ก ํซํ๋ ์ธ์ด์ธ Java๊ฐ ์ปคํผ์์ฐ์ง์์ ๋ฐ์จ ์ด๋ฆ์ด๊ธฐ ๋๋ฌธ์, Apple ๊ฐ๋ฐ์๋ ์ด๋ฆฐ์์ด๋ ํ ์ ์๋ ์๋ฐ(Java for kids)๋ผ๋ ์๋ฏธ์์ Cocoa๋ผ๊ณ ์ด๋ฆ์ง์๋ค๊ณ ํ๋ค.#
2. Cocoa Touch[ํธ์ง]
ํนํ iOS ํ๋ก๊ทธ๋๋ฐ์ ์ด์ฉ๋๋ ํ๋ ์์ํฌ์ด๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ์ง์์ ์ผ๋ก ์
๋ฐ์ดํธ๋๊ณ ์๋ค.