Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

Objective-C24

7. Objective-C 함수(call by value, call by reference) 함수는 작업을 수행하기 위한 여러 문장의 모음이라고 할 수 있다. 프로그램의 시작점인 main()함수를 비롯해, 추가적인 함수를 필요에 따라 정의할 수 있다.재사용성, 모듈화 등등 함수와 관련된 기법보다는 정말 기본 개념을 알아보자. 이건 정말 그냥 코드 짜면서 해봐야 느는듯..함수 선언(Declaration)컴파일러에게 함수의 이름, 반환타입, 파라미터에 대한 정보를 전달한다.int add(int num1, int num2); //전방 선언~~~~//함수 구현int add(int num1, int num2) { return (num1 + num2);}함수 정의(Definition)함수의 body 파트를 구현하는 것을 의미한다. 기본적으로 옵젝씨에서는 함수를 메서드라고 부르고,문자열에 문자열을 더하.. 2024. 5. 6.
6. Objective-C 반복문/조건문 반복문while, do while, for, nested 전부 그대로 지원한다.while(condition) { statement(s);}do { statement(s);} while (condition);for(init; condition; increment) { statement(s);}//infinite loopint main() { for( ; ; ) { NSLog(@"INFINITE LOOP\n"); } //Never be executed.. return 0;} continue, break#import int main() { int a = 10; while(a 15) { break; } retur.. 2024. 5. 6.
4. Objective-C 변수/상수 변수 선언type 변수명(다수 가능);int i, j, k;char c, ch;float f, salary;double d; 당연히 같은 스코프 내에서 같은 이름으로 재선언은 불가능하다. 변수 초기화/* 다른 파일에서 정의된 전역 변수,함수를 현재 파일에서 사용할 때 extern키워드 사용*/extern int d = 5, f = 5;int a = 3;byte z = 22;char x = 'c'; 변수 초기화를 해주지 않으면 쓰레기값이 들어있기 때문에 꼭 초기화를 해주고 사용하자! // 컴파일러에게 외부 변수의 존재를 알림(현재 파일에 정의되지 않았으니 외부에서 참조하겠다)// C-스타일의 전방 선언 (declaration)extern int externalInt;int main (void) { //변.. 2024. 5. 6.
3. Objective-C 자료형 데이터 타입은 데이터가 메모리 공간을 얼마나 차지하는지,메모리의 비트가 어떻게 해석되는 지에 필요하기에 매우 중요하다. (극악무도한 c의 포인터에서 느낄 수 있다.) 1. 기본타입(정수형, 실수형)Integer Types 정수형정수형의 정확한 사이즈를 알고 싶으면 sizeof를 사용하면 된다. sizeof를 통해 해당 타입의 바이트 수를 알 수 있다. NSLog(@"int size: %d", sizeof(int)); Floating-Point Types(실수형)2. Void Type 값이 없음을 나타내는 타입주로 함수가 값을 반환하지 않거나, 포인터가 어떤 타입의 값을 가리키지 않음을 나타낸다.(C에서 malloc을 하면 void 포인터를 반환해서, 해당 포인터를 캐스팅 해서 사용해줬던 것을 생각해보자... 2024. 5. 5.
2. Objective-C / 기본 구문 및 구조 Objective-C 프로그램의 기본 구성 요소 - 전처리 명령- 인터페이스- 구현- 메서드- 변수- 클로저 등 표현식(코드블럭)- 주석 // 컴파일러가 실제 컴파일을 시작하기 전에 헤더파일을 포함하도록 지시하는 전처리기 명령어#import // 모든 객체의 부모 클래스인 NSObject를 상속하는 클래스 인터페이스를 선언한다.@interface SampleClass: NSObject// 부호 (반환타입)메서드명(파라미터타입)파라미터명 으로 메서드를 선언한다.// - 는 인스턴스 메서드를, +는 클래스 메서드를 의미한다.(static)- (void)sampleMethod;//중괄호 대신 인터페이스 선언부가 끝났음을 @end로 표기한다. //빼먹기 좋을 거 같으니까 시작하면 그냥 @end 같이 치고 시작하.. 2024. 5. 5.
1. Objective-C / Hello world! Objective-C (옵젝씨라고도 부름)는 Swift 이전에 iOS, Mac OS 개발에 사용된 언어로이름에서 알 수 있듯이 객체지향의 4가지 근간인 (캡슐화, 데이터 숨기기, 상속, 다형성)을 지원한다.  가장 기본적인 Hello world를 찍어보고 관련 개념들을 알아보자. 자바처럼 좀 길다..??? : print("Hello world!")  #import int main(int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"hello world"); [pool drain]; return 0;} #import헤더파일을 구현 파일에 포함시키는.. 2024. 5. 3.