기본 자료형 변수와 객체형 변수의 차이 ─────────────────────────── int형 등 기본 자료형 변수와 객체형 변수는 저장되는 내용에 차이가 있으므로 주의가 필요합니다. 예를 들어 기본 자료형인 경우에는 변수의 값 자체가 저장됩니다. int num1; num1 = 3; 예를 들어, 또 다른 변수 num2에 num1을 대입하면 num2에도 역시 '3'이라는 값이 저장됩니다. int num2; num2 = num1; 반면 객체형 변수의 경우에는 실제 인스턴스를 참조하는 값(C언어의 포인터)이 저장됩니다. NSDate *date1; date1 = [[NSDate alloc]init]; 또 다른 변수 date2에 date1의 값을 대입하면, date2와 date1은 같은 인스턴스를 가리키게 됩..
NSObject 클래스 ───────────── 인스턴스를 생성할 때는 alloc 메소드를 이용한다고 설명했습니다. 그런데, NSDate의 클래스 레퍼런스를 찾아봐도 alloc 메소드에 대한 설명은 보이지 않습니다. 객체지향 언어에서는 어떤 클래스의 자원을 바탕으로 또 다른 클래스를 작성하는 상속이 많이 이용됩니다. alloc 메소드는 NSDate 클래스가 상속하고 있는 NSObject 클래스에 있는 메소드 입니다. 이 때 바탕이 되는 클래스를 슈퍼클래스(superclass), 그것을 상속하는 클래스를 서브클래스(subclass)라고 합니다. NSDate 클래스는 NSObject 클래스의 서브클래스 입니다. NSDate -(상속)-> NSObject 이 NSObject 클래스는 Cocoa 환경에서 모든 ..
클래스에 준비되어 있는 메소드 파악하기 ────────────────────────────── 인스턴스를 생성하면 그 클래스에 준비되어 있는 다양한 메소드를 이용할 수 있습니다. 물론 그렇게 하기 위해서는 클래스에 어떤 메소드가 준비되어 있는지를 알아 둘 필요가 있습니다. 이 때 활약하는 것이 온라인 매뉴얼입니다. 온라인 매뉴얼은 Xcode의 [help] 메뉴에서 [Developer Documentation]을 선택하면 표시됩니다. 오른쪽 위에 있는 [Search] 필드에 키워드를 입력해 도큐멘트를 검색할 수 있습니다. 지금부터 나오는 설명은 Xcode3을 예로 설명합니다. 온라인 매뉴얼의 툴 바에 있는 [Home] 메뉴에서 [Mac OS X 10.6 Core Library]를 선택하여 [Core Ref..
인스턴스가 생성되는 과정 ──────────────────── 인스턴스화, 즉 기존의 클래스로부터 인스턴스를 생성하기 위한 흐름은 다음과 같습니다. (1) 인스턴스를 저장하기 위한 변수를 선언한다. (2) 인스턴스를 생성한다. 인스턴스를 저장하는 변수의 선언 먼저 인스턴스 변수의 선언입니다. 여기서는 int형이나 float형 같이 C언어에 원래부터 있던 자료형과 Objective-C 객체의 데이터를 구별하기 위해서 전자를 기본 자료형, 후자를 객체형이라고 부르겠습니다. 인스턴스를 저장하기 위해서는 기본 자료형 변수의 선언과 마찬가지로 사전에 객체형 변수를 선언해야 합니다. 이 때 다음과 같은 형식으로 사용합니다. 기본 자료형 변수의 선언과 달리 변수 앞에 *가 붙어 있다는 점에 주의해야 합니다. (Obj..
메소드의 호출 방법에 대한 예비지식 ─────────────────────────── Objective-C의 메소드 호출 방법은 조금 특수합니다. Java나 C++ 같은 일반적인 객체지향 언어를 경험하신 분들은 익숙해지기 전까지 조금 어렵게 느껴질 수도 있습니다. Objective-C의 메소드 호출 방식은 다음과 같습니다. 메시지 방식 [객체 메시지] 전체를 대괄호 []로 에워싸고 객체와 메시지는 사이에 공백을 두어 구분합니다. 이렇게 하면 Receiver인 객체로 메시지가 보내지고, 대응하는 메소드가 호출됩니다. 메시지의 반환값을 변수에 대입할 때는 다음과 같이 합니다. 메시지의 반환값을 변수에 대입 변수 = [객체 메시지] 이 때 메시지가 게터 메소드처럼 인수를 가지지 않는 메소드인 경우에는 메소드의..
헤더파일의 저장소 ─────────────── #import 이것은 Foundation 프레임워크의 'Foundation.h'라는 헤더파일을 읽어 들이는 프리프로세서 지시문인데, 프레임워크와 헤더파일은 어디에 있는걸까요? 우선 프레임워크의 경우 Mac OS X에서는 시동 디스크의 [시스템] - [라이브러리] - [Frameworks] 폴더 아래에 프레임워크별 폴더로 나뉘어 저장되어 있습니다. Foundation 프레임워크의 경우는 [Foundation.framework] 폴더에 프레임워크 본체와 헤더 파일이 저장되어 있습니다. Foundation 프레임워크의 헤더파일은 [Foundation.framework] 폴더의 [Headers] - 'Foundation.h'가 됩니다. 헤더 파일은 일반적인 텍스트 ..
최초로 호출되는 main함수 ───────────────────── 함수란 일련의 처리를 모아서 '함수명'으로 호출할 수 있도록 한 것입니다. 이 때 함수에 넘겨주는 값을 인수라고 합니다. 그리고 함수가 처리한 결과를 호출한 쪽으로 되돌려주는 값을 반환값이라고 합니다. 함수는 다음과 같은 형식으로 정의합니다. 반환값의 타입 함수명(인수 리스트){ 함수의 내용 return 반환값; } 즉, 함수의 내용은 '{'와 '}' 사이에 기술하는 것입니다. C언어에서는 프로그램을 실행하면 제일 먼저 main이라는 이름의 함수가 호출된다는 규칙이 있습니다. Objective-C에서도 마찬가지 입니다. Sample.m을 살펴보면 다음과 같이 main 함수가 기술되어 있습니다. int main (int argc, cons..
소스파일의 구조 ───────────── Xcode에서 커맨드라인 어플리케이션(Foundation) 프로젝트를 처음 생성하면 나오는 샘플코드로 소스파일인 .m 파일의 구조를 살펴보겠습니다. 처음 프로젝트를 생성하면 함께 생성되는 .m 소스파일의 샘플코드 입니다. 위 코드에서 화살표로 표시한 1 부분의 #import로 시작되는 부분은 헤더 파일을 읽어 들이는 부분입니다. 그리고 화살표로 표시한 2 부분이 프로그램의 본체 main 함수입니다. 자 그럼 import한 헤더파일과 메인함수에 대해서 알아보겠습니다. 헤더파일의 Import ─────────────── 프레임워크의 메소드와 라이브러리의 함수 선언 등이 포함된 파일을 헤더파일(head file)이라고 합니다. 소스 파일 내에서 메소드나 함수를 호출하면..
- Total
- Today
- Yesterday
- oracle
- 아이폰
- Java
- JavaScript
- Spring Framework
- 오브젝트 C
- 제이쿼리
- iOS 개발
- JSP
- 아이폰 개발
- tomcat
- jQuery
- Spring
- MySQL
- 오브젝티브 C
- iPhone
- 오블완
- 자바스크립트
- Programming
- Objective-C
- SQL
- 아이폰 어플리케이션
- Object C
- Objective C
- MAC OSX 10.7
- zero
- iBATIS
- 자바
- IT
- 티스토리챌린지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |