C++와 Objective-C 간의 차이점 #1

Posted at 2008. 8. 28. 12:48 // in S/W개발/MACDEV // by 김윤수


  • iPhone Developer Program에 등록해 봤습니다. 근데 결정적으로 Mac 컴퓨터가 없군요. 히히(apple iphone developer program)2008-08-26 19:23:32
  • iPhone Developer Program terms & conditions를 보고 있는데… 생각보다 제약이 심하군요. iPhone관련 문서에 있는 내용을 공개해서도 안되는군요. 그럼 iPhone SDK에 대한 책도 쓸 수가 없겠네요.(apple iPhone developer program terms conditions agreement 제약)2008-08-26 19:43:54
  • 역시나 Apple은 아직도 Open 성향 보다는 Closed 성향이 큰 것 같습니다.(apple)2008-08-26 19:46:13
  • Objective-C 2.0 Programming Language: Objective-C도 한 번 공부해 볼까 ?(Objective-C Programming Language SW개발 프로그래밍언어)2008-08-26 21:26:30
  • C++와 Objective-C의 차이점 #1: void* 비슷하게 id 라는 타입이 있다. id anObject; 라는 선언이 가능하단다. id 는 object의 주소를 나타낸다.(cpp C++ Objective-C 차이점 프로그래밍언어)2008-08-26 21:42:08
  • C++와 Objective-C의 차이점 #2: nil 이라는 예약어가 있다. 널포인터를 뜻한다. C++에서 0와 비슷한 역할. C++0x 에서는 null_ptr(cpp C++ Objective-C 차이점 프로그래밍언어 nil)2008-08-26 21:43:38
  • C++와 Objective-C의 차이점 #3: 용어가 틀리다. member variables vs instance variables, member functions vs methods. 주로 Smalltalk에서 따온 듯(cpp C++ Objective-C 차이점 프로그래밍언어 용어)2008-08-26 21:47:40
  • C++와 Objective-C의 차이점 #4: statically typed vs dynamically typed. 각 object는 isa라는 instance variable 을 가지고 있단다. C++의 typeid()와 비슷한가 보다.(cpp C++ Objective-C 차이점 프로그래밍언어 dynamically typed isa)2008-08-26 21:52:14
  • C++와 Objective-C의 차이점 #5: 메소드 호출 구문이 완전히 다르다. object->method(); 이런 형식이 아니라 [object method]; 형식이다. 정확히 말하면 메소드 호출이 아닌 message 를 보내는 거란다.(cpp C++ Objective-C 차이점 프로그래밍언어 메소드 호출)2008-08-26 22:00:13
  • C++와 Objective-C의 차이점 #6: 메소드에 argument 를 전달하고 싶을 때는 argument앞에 ':'를 붙여야 한단다. [myRect setOriginX:30.0 Y:50.0]; 이런 식으로. 그리고, 메소드 이름은 setOriginX:Y: 가 된다(cpp C++ Objective-C 차이점 프로그래밍언어 메소드 인자전달)2008-08-26 22:06:13
  • C++와 Objective-C의 차이점 #7: 기본적으로 message를 보내는 건 dynamic binding이다. 즉, compile-time이 아닌 run-time 시에 메소드 호출이 결정된다는 것이지. 성능에는 별로 안 좋겠다.(cpp C++ Objective-C 차이점 프로그래밍언어 dynamic binding)2008-08-26 22:17:52
  • C++와 Objective-C의 차이점 #8: C#과 비슷하게 property라는 개념이 있어서 setProperty(), property()라는 메소드가 자동 정의되나 보다. setter/getter method 정의 없이.(cpp C++ Objective-C 차이점 프로그래밍언어 property)2008-08-26 22:27:28
  • dynamic binding 한다는 얘기는 program의 성능 및 safety 보다는 dynamism을 중요시 생각한다는 거겠지. 설계 철학이 다르다(cpp C++ Objective-C 차이점 프로그래밍언어 설계철학)2008-08-26 22:29:04
  • C++와 Objective-C의 차이점 #9: this 라는 키워드 대신 self가 쓰인다(cpp C++ Objective-C 차이점 프로그래밍언어 self)2008-08-26 22:33:09
  • C++와 Objective-C의 차이점 #10: Key Value Coding 이라고 해서 property를 literal string 이름으로 access할 수 있는 기능이 있다. 이 정도면 거의 script 언어 수준이라고 봐야할 듯.(cpp C++ Objective-C 차이점 프로그래밍언어 KVC)2008-08-26 22:38:31

이 글은 김윤수님의 2008년 8월 26일의 미투데이 내용입니다.