Bitaholic

Object-C 본문

Computer/Mac

Object-C

Bitaholic 2009. 6. 30. 23:25

Why Object-C?
Obejct-C 는 맥킨토시 프로그래밍의 기본언어이다.
그럼 왜 맥킨토시는 기본언어로 Object-C를 채택을 했을까? 문서를 살펴보면 몇가지 이유를 들고 있다.
정확히 말하면 Object-C는 Cocoa framework의 기본언어이다.

  1. 먼저 Object-C는 이름에서도 알수 있듯이 객체지향언어이다. Cocoa framework이 기본적으로 객체지향적으로 설계되어 있어서 거기에서 쓰이는 언어도 객체지향이어야 한다?? ㅋㅋ 그래야 맞겠지? ㅋㅋ
  2. 둘째로 Object-C는 C언어의 확장언어이다. 이말은 C언어가 가진 특성을 모두 갖고 여기에다가 객체지향적인 개념을 추가 시켰단 말이다. 이게 어떤 장점이 있냐면 여러가지가 있지만, 중요한 특징은 기존 C언어로 작성된 프로그램을 고치지 않고 바로 Cocoa framework위에서 돌릴 수 있다. 또한 필요에 따라 객체지향적으로 프로그래밍을 할 수 도 있고, 절차지향적? 으로 필요에 따라 프로그래밍을 할 수도 있다.
  3. 셋째로, Object-C의 문법은 이해하기가 매우 쉽고, 간결하다고 주장하고 있다(문서에서) 따라서 배우기도 쉽다고, 뭐 공부해 봐야 알겠지만
  4. 마지막으로 다른 객체지향 언어와 비교했을 때 매우 동적(dynamic) 하다고 한다. 이건 이해가 잘 안되는데, 컴파일 타이밍에 결정해야 만 하는 것들을 런타임 때 까지 결정을 연기할 수 있는 특징이라고 한다. 또 이와 관련해서 컴파일러가 객체에 대한 많은 정보를 런타임 때 쓰기 위해서 어디다가 보존을 시킨다 라는 특성도 있다, 매우 동적(dynamic)한 특징으로 두가지 큰 특징을 갖는다고 하는데
    1. Object-C는 "open style of dynamic binding"를 지원한다. 이 스타일은 인터랙티브한 사용자 인터페이스 (GUI  를 말하는거겠지?) 를 지원하는 아키텍쳐를 간단하게 유지할 수 있게 한다. 이 특성은 이해가 잘 안되므로 다음에 자세한 공부 후 다시 포스팅 하겠다
    2. 두번째 특징은 정밀한 개발 툴을 만들수 있다는 것이다. 돌아가고 있는 어플리케이션(running application)의 정보를 접근할 수 있어서 모니터링같은 툴 개발이 쉽다고 하는거 같다.

Object-C의 dynamic 특징은 running application에 대해 여러가지 일을 할 수 있다고 하는 것 같다. 즉 메모리에 올라가 있는 데이터의 접근이 다른 프로세서에서 용이하다는 뜻? 뭐 자세한 내용은 더 자세한 문서를 봐야 알겠지만,

위와 같은 이유로 Cocoa Framwork의 기본언어로 Object-C를 채택했다고 한다.

앞으로의 포스팅은 Object-C의 객체지향 프로그래밍 적용 하는 방법과 Syntax에 대해서 스터디하고 요약을 쓸 예정이다.

Comments