메소드의 호출 방법에 대한 예비지식 ─────────────────────────── Objective-C의 메소드 호출 방법은 조금 특수합니다. Java나 C++ 같은 일반적인 객체지향 언어를 경험하신 분들은 익숙해지기 전까지 조금 어렵게 느껴질 수도 있습니다. Objective-C의 메소드 호출 방식은 다음과 같습니다. 메시지 방식 [객체 메시지] 전체를 대괄호 []로 에워싸고 객체와 메시지는 사이에 공백을 두어 구분합니다. 이렇게 하면 Receiver인 객체로 메시지가 보내지고, 대응하는 메소드가 호출됩니다. 메시지의 반환값을 변수에 대입할 때는 다음과 같이 합니다. 메시지의 반환값을 변수에 대입 변수 = [객체 메시지] 이 때 메시지가 게터 메소드처럼 인수를 가지지 않는 메소드인 경우에는 메소드의..
NSLog 함수에 대해서 ──────────────── NSLog(@"Hello, World!"); NSLog 함수의 인수로는 Objective-C의 문자열을 전달합니다. 여기에서 Objective-C의 문자열이라는 것은 정확하게 NSString 클래스의 인스턴스 입니다. 원래는 어떤 클래스에서 그 오브젝트인 인스턴스를 생성하기 위해서는 보통 alloc 메소드 드으이 전용 메소드를 실행할 필요가 있습니다. 다만 문자열은 빈번하게 사용하기 때문에 다음과 같은 형식으로도 NSString 클래스의 인스턴스를 간단히 생성할 수 있도록 되어있습니다. NSLog, NSString과 같이 Cocoa 환경의 클래스와 함수의 이름은 'NS'로 시작합니다. 이는 Mac OS X의 전신인 'NeXTSTEP'의 약자입니다. ..
헤더파일의 저장소 ─────────────── #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)이라고 합니다. 소스 파일 내에서 메소드나 함수를 호출하면..
Framework(프레임워크)에 대해서 ───────────────────────── 프레임워크(정확하게는 애플리케이션 프레임워크)란 애플리케이션의 개발 및 실행을 지원하는 틀 혹은 실행환경 같은 것입니다. 초창기의 프로그래밍에서는 자주 사용되는 처리를 모아두고, 다른 프로그램에서 자유롭게 호출할 수 있게 하는 라이브러리라는 개념을 사용했는데, 프레임워크는 거기서 더 발전한 형태로 생각할 수 있습니다. 특히 요즘처럼 GUI(Graphic User Interface)를 많이 활용하는 데스크톱 애플리케이션에서는 빼놓을 수 없는 존재입니다. 덧붙여 프레임워크에 준비되어 있는 기능을 꺼내 쓰게 해 주는 창구 같은 것을 API(Application Programming Interface)라고 부릅니다. 각각의 프..
유니버셜 바이너리 ─────────────── Mac OS X용 프로그램이 모토로라 계열의 PowerPC를 탑재한 Mac에서도 동작하고, Intel CPU를 탑재한 이른바 Intel Mac에서도 동작하는 이유가 뭔지 알고 계시나요? 최근에 나오는 Mac OS X용 프로그램은 각각의 형식에 대응하는 실행 파일들을 하나의 파일 속에 저장하고 있습니다. 이런 파일 형식을 유니버셜 바이너리라고 합니다. 유니버셜 바이너리 이전의 PowerPC Mac용 프로그램도 Intel Mac상에서 동작시킬 수 있습니다. Intel Mac에는 Rosetta라고 불리는 변환 프로그램이 준비되어 있어, Rosetta를 인스톨한 환경이라면 PowerPC용 프로그램을 Intel 형식의 프로그램으로 변환하면서 실행하는 것입니다.
기능 중심적인 소프트웨어 설계 방식의 문제점 ──────────────────────────────────── 여러 언어로 프로그램을 개발할 때 처리방법은 크게 세가지 패턴으로 나눌 수 있습니다. 1. 순차 처리 : 시간 흐름 순서대로 처리 내용을 기술하는 방식 2. 조건 처리 : 특정 조건에 따라 서로 다른 처리를 하는 방식 3. 재귀 처리 : 동일한 처리를 반복해서 실행하는 방식 프로그램 개발시 이런 기본 패턴을 조합하여 사용하는 언어를 절차형 언어 혹은 절차지향적 언어라고 합니다. 프로그래밍 언어를 분류할 때 절차형이 아닌 언어로는 관계형, 논리형 언어 등이 있습니다. 하지만 현재까지 수많은 프로그램이 절차지향적 언어로 개발되었거나 지금도 개발되고 있습니다. 특정 업무를 프로세스와 함수로 분해하면서..
- Total
- Today
- Yesterday
- JSP
- 아이폰 개발
- 자바
- MacOS X
- Java
- 오브젝트 C
- Spring
- tomcat
- 오브젝티브 C
- Programming
- MySQL
- Object C
- iOS 개발
- 아이폰
- Objective-C
- iBATIS
- zero
- jQuery
- 아이폰 어플리케이션
- oracle
- iPhone
- IT
- Spring Framework
- 자바스크립트
- Xcode
- JavaScript
- 제이쿼리
- Objective C
- SQL
- MAC OSX 10.7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |