코코아라는 단어는 NSObject를 상속받는 모든 클래스, 모든 객체를 가리킬 때 사용한다.
왜 코코아냐면 자바가 커피원산지에서 따온 이름이라서 애플 개발자는 어린이도 할 수 있는 의미에서
코코아라고한다.
여담이었고
코코아 터치 프레임워크란 iOS 개발 환경을 구축하기 위한 최상위 프레임워크다.
이름이 비슷한 코코아 프레임워크는 macOS 개발을 위한 프레임워크이며
아이폰, 아이패드의 터치 기반의 iOS개발 환경에 사용하여 코코아 터치 프레임워크라고 이름이 붙었다.
UIKit만 import 했음에도 Foundation 을 사용할 수 있는 이유는??
기본적인 코코아 프레임워크는 아래와 같은 계층 구조를 갖는다.
하위 계층일수록 하드웨어에 가깝고, 상위 계층일수록 사용자에게 가깝다.
그중 UIKit은 가장 위 Cocoa Touch 계층이며 foundation 은 core Services 계층이다.
결국 UIkit이 Foundation 프레임워크를 상속 했을 가능성이 높다.
Cocoa Touch 계층
하위 계층의 프레임워크를 사용하여 애플리케이션을 직접 구현하는 프레임워크
UIKit, GameKit, MapKit
Media 계층
상위 계층인 코코아 터치 계층에 그래픽 관련 서비스나 멀티미디어 관련 서비스를 제공
Core Graphics, Core Text, Core Audio, Core Animation, AVFoundation
Core Services 계층
문자열 처리, 데이터 집합 관리, 네트워크, 주소록 관리, 환경 설정 등 핵심적인 서비스들을 제공
또한 GPS, 나침반, 가속도 센서나, 자이로스코프 센서와 같이 디바이스의 하드웨어 특성에 기반한 서비스도 제공
Foundation, Core Foundation, Core Location, Core Motion, Core Animation, Core Data
Core OS 계층
커널, 파일 시스템, 네트워크, 보안, 전원 관리, 디바이스 드라이버 등이 포함
iOS가 운영체제로서 기능을 하기 위한 핵심적인 영역
출처
'개발 > 개발' 카테고리의 다른 글
[iOS] - Hashable Protocol 은 무엇일까요??? (0) | 2020.05.27 |
---|---|
[iOS] - GCD란??? (0) | 2020.05.27 |
[iOS] - Foundation Kit이란? (0) | 2020.05.27 |
[iOS] - 강한참조 약한 참조(Strong capture and weak capture) (0) | 2020.05.08 |
[iOS] - 뷰컨트롤러 간 값 전달/직접전달방식(동기방식) (0) | 2020.01.10 |