IT 3

iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-2. 이벤트

이벤트에 대해 알아보자. 이벤트는 이해하기 어렵지 않으니 Delegate에 대한 첫번째 발걸음으로 적합하다. 이벤트는 객체지향 프로그래밍의 가장 기본적인 설계 기법 중 하나라 할 수 있다. 객체지향 프로그래밍의 특징이 여러가지 있지만 그 중 하나가 “재사용성”이다. 재사용성과 이벤트가 무슨 관계가 있을까. 아래 마이클잭슨의 사례로 한번 생각해 보자. 마이클 잭슨 한국에 오다. 100여명의 스탭과 함께. 이제는 고인이 된 마이클 잭슨이 한국에 온 적이 있다. 그가 온다는 것만으로도 울트라 빅빅빅 이슈였지만, 함께 이슈가 되었던 건 100여명의 스탭과 함께 오기 때문에 모셔오는 비용이 어마어마하다는 거였다. 같이 오는 100여명의 스탭 중에는 헤어디자이너, 무대 감독, 음향 감독 뿐 아니라 전용 요리사들도 ..

iOS, Object-C를 이용한 아이폰/아이패드 개발에서 Delegate에 대한 이해-1. prolog

iOS에서 Object-C를 이용해 아이폰/아이패드 개발을 할 때 절대 빼 놓을 수 없는 필수 요소가 Delegate이다. 이게 없으면 개발을 할 수가 없을 정도인데, 블로그에서 delegate에 대해 찾아보면 이에 대한 정보가 정말 빈약하다. 그래서 이 연재를 만들기로 했다. Delegate에 대해 이해하려면 꽤 많은 걸 알아야 한다. 우선 interface나 abstract class 에 대해 알아야 한다. 자바, C#, 델파이, C++, Action Script에서는 interface나 abstract class 라고 부르지만, Objective-C에서는 protocol이라고 부른다. 그리고 callback 에 대해서도 이해해야 한다. Callback은 단순해서 좀 이해하기 쉬운데, 보통은 A 클래..

자바, iOS의 Object 와 id 에 대해

오랜만에 프로그래밍 관련 글을 쓰는군요. 자바의 Object 나 iOS의 id에 대해 궁금해 하시는 분이 계셔서 글을 쓰게 되었습니다. ^^; 자바의 Object에 대해 먼저 설명하겠습니다. Object는 클래스다. 자바의 Object는 클래스입니다. 자바에는 무수히 많은 클래스가 있습니다. 거의 모든 걸 다 클래스로 만들어 놓았죠. 그래서 자바를 만든 제임스 고슬링의 별명이 "Every thing is classes" 라고 합니다. 이 말은 굳이 클래스로 만들지 않아도 될 것을 클래스로 다 만들어서 속도저하를 일으키고 있다는 걸 빗대고 있는 거라 생각되네요. 암튼. 자바에 무수히 많은 클래스가 있는데, 그 클래스들마다 공통으로, 반드시, 꼭 구현되어야 하는 기능들이 있습니다. 자동차를 예를 들어 보죠...