본문 바로가기

iOS/Objective C

[Objective-C] 1. 개요

1. 개요

과거 애플의 프로그래밍 언어로 활용되었다. 현재도 일부 기업에서 활용되는 상황이다. 최근 iOS 개발을 하게 되어 Objective C에 대해 정리하면 좋을 것 같아 앞으로 블로그에 기록해보려고 한다.

 

2. 특징

C의 확장

C언어에서 단순히 객체 지향 패러다임을 추가한 형태이다. 순수 C 코드를 그대로 활용할 수 있다. 이런 객체 지향 개념을 추가하기 위해 별도의 런타임이 필요하다. JVM 처럼 가상 머신을 활용하는 형식은 아니고, 단순히 라이브러리를 링크하는 것이다.

 

구조체

Objective C의 모든 객체는 사실 구조체로 이루어져있다. 객체의 존재하는 메서드는 해당 메서드의 구현체(함수)로의 함수 포인터를 구조체 안의 리스트 형태로 들고 있다. 따라서, 객체의 메서드를 호출하면 구조체의 리스트를 순회하며 메서드의 구현체를 찾아 호출하는 형식이다.

 

문법

다른 상용 언어와 다른 매우 특이한 문법 형태를 갖고 있다.

  • 매개변수마다 이름을 붙여준다. (최신 언어의 named parameter와 유사하다.)
  • 최신 언어와 비교하면 입력해야 할 코드량이 매우 많다.
    • .h(헤더 파일), .m(구현 파일)로 나뉘는 것
    • 함수 작성 시 코드량이 많음

 

'iOS > Objective C' 카테고리의 다른 글

[Objective-C] 3. 프로토콜(Protocol)  (0) 2022.02.27
[Objective-C] 2. Class - Method & Property  (0) 2022.02.27