오브젝티브-C란?

Dec 04 2022
안녕 모두들! ‍♂️ 아시다시피 제 글은 대부분 스위프트 관련입니다. Objective-C에 대한 몇 가지 기사를 공유하기로 결정했습니다.

안녕 모두들! ‍♂️

아시다시피 제 글 대부분은 스위프트와 관련이 있습니다. Objective-C에 대한 몇 가지 기사를 공유하기로 결정했습니다.

이 기사에서는 Objective-C가 무엇인지 살펴보겠습니다. 이것은 Obj-C에 대한 짧은 소개이자 알아가는 것입니다.

시작하기 전에 한 가지 질문을 드리겠습니다.

내 이전 기사를 읽었습니까? 그렇지 않은 경우 다음 항목도 확인하는 것이 좋습니다.

Objective-C는 C 프로그래밍 언어를 덮어써서 개발된 널리 사용되는 객체 지향 및 반사형 프로그래밍 언어입니다. Stepstone의 Brad Cox와 Tom Love가 1980년에 설계한 이 프로그래밍 언어는 C 프로그래밍 언어의 구문과 유사한 구조를 사용합니다. Objective-C는 1988년에 NeXT에서 라이센스를 받았습니다. 현재 Objective-C는 Apple이 소프트웨어에서 사용하는 것을 선호하는 포괄적이고 유능한 프로그래밍 언어입니다.

객체의 사용을 강조하는 Objective-C가 배우기 어려운 과정이라는 것은 개발자들이 인정하는 사실입니다. 구문은 C이지만 특별한 라이브러리는 없습니다. 개발자가 라이브러리를 사용하려는 경우 트리거(있는 경우)를 사용하여 라이브러리를 정의할 수 있습니다. 다시 말하지만, 개발자들에게 잘 알려진 Cocoa 및 Xcode(Apple 전용)와 같은 SDK 환경을 사용하여 Objective-C를 개발할 수 있습니다.

Objective-C는 완전히 Apple을 대상으로 하는 언어가 되었기 때문에 Objective-C 작업을 시작하려면 Intel 프로세서가 장착된 Mac이 있어야 합니다. Mac을 살 여유가 없다면 가상 컴퓨터의 OS X에서 Objective-C를 배우고 코딩할 수 있습니다.

Apple은 의심할 여지 없이 Objective-C의 인기를 높이고 정상을 유지하는 데 중요한 역할을 했습니다. 오늘날 Objective-C는 OS X 기반 시스템에서 생성된 모든 소프트웨어에서 사용됩니다. Apple은 또한 Objective-C가 까다로운 프로세스라는 것을 알고 있습니다. 시대에 뒤떨어진 것으로 여겨졌던 Objective-C 학습의 어려움은 플랫폼의 개발자 수를 감소시켰습니다. 2014년 Apple은 개발자의 범위를 넓히기 위해 통사론적이고 배우기 쉬운 언어 대안인 Swift를 도입했습니다. Swift는 어떤 면에서 Objective-C보다 뒤떨어져 있지만, 차세대 개발자 집단의 대부분은 Apple 생태계를 대상으로 할 때 Objective-C보다 Swift로 눈을 돌리고 있습니다.

Objective-C 학습은 도전적이지만 불가능하지는 않습니다. 이전에 프로그래밍 언어를 배운 적이 있다면 특히 C 프로그래밍 언어에 대한 성향이 있는 경우 Objective-C mush를 쉽게 배울 수 있습니다. Apple 에서 Objective-C용으로 준비한 자세한 예비 교육 문서는 여기에서 완전 무료로 액세스할 수 있습니다!

샘플 "Hello World!" Objective-C의 출력은 다음과 같습니다.

#import
#import
int main(void)
{
NSLog(@"Hello, world!\n");
return 0;
}

이론적으로 Objective-C의 마스터인 개발자는 Objective-C에서 C로 설계할 수 있는 모든 시스템을 설계할 수 있습니다. 또 다른 희소식은 이 개발자가 Objective-C를 사용하여 C++에서 많은 시스템을 설계할 수 있다는 것입니다. 그러나 Obj-C가 Apple 지향 프로그래밍 언어라는 사실은 변경되지 않습니다.

Objective-C를 배우면:

  • iPhone 및 iPad에서 사용할 모바일 애플리케이션 및 게임
  • tvOS에서 사용할 수 있는 멀티미디어 애플리케이션
  • macOS에서 실행되는 소프트웨어
  • watchOS 스마트워치 시스템용 앱
  • 정적 라이브러리 향상
  • GNUStep용 애플리케이션 개발
  • 와 같은 많은 영역에서 응용 프로그램 및 라이브러리를 개발할 수 있습니다.