본문 바로가기

Objective-C

Swift에 따른 Objective-C의 새로운 기능들 Objective-C의 기능 추가 1. Nullability annotations 2. Generics 안녕하세요 야곰입니다 :) Swift 2.0이 오픈소스화 되면서 관심이 많이 쏠리고 있습니다. 그러나 기존 Objective-C 프로그래머들 사이에서는 Swift에 따라 변화되는 다양한 모습들이 부담으로 다가오기도 합니다. Swift 언어 문법과 기능들에 더 잘 맞춰주기 위하여 기존의 API들이 변경되기도 하고, Objective-C의 문법적 기능들과 키워드들이 몇몇가지 추가되기도 했습니다. 그에대해 간략히 살펴보는 시간을 가져보도록 할게요. # 해당내용은 2015년 6월 말에 작성된 내용으로, 애플에 의해 추후 변동의 여지가 충분히 있음을 미리 알립니다. # Nullability Swift는 지난 포.. 더보기
Objective C 우린 왜 굳이 오브젝티브-C를 배워야 할까? # 재미있는 언어 Objective-C 여러분들께서는 오브젝티브-C를 어떻게 생각하시나요? 언어의 역사와 배경을 아는 것이 정말 무의미해 보일지 모르겠지만, 오브젝티브-C의 탄생 배경을 살펴보면 재미난 점도 많고, 사용하면서 부딪힐 의문에 대해서도 더 많이 이해하게 될 수 있습니다. 그럼 오브젝티브-C는 어떻게 태어났는지, 왜 제대로 알고 써야 할지 생각해 볼까요? # Objective-C는 어떻게 탄생하고 발전해왔을까? 오브젝티브-C는 ‘객체 지향 프로그래밍 C언어 [Object-Oriented Programming in C, OOPC]’라는 이름으로 시작된 언어입니다. 즉, C를 객체 지향 언어로 발전시킨 것으로, 1983년에 발표되었습니다. 당시 사람들은 구조적 프로그래밍 습관에 따라 프로그래밍을 .. 더보기
Objective C <11>. 딕셔너리, 배열 ( NSDictionary, NSArray ) 오늘의 주제 1. NSDictionary, NSMutableDictionary 2. NSArray, NSMutableArray 열 한번째 시간입니다.^^ 지난 번에는 상속이라는 또 하나의 중요한 개념에 대하여 알아보았습니다. 이번에는 Objective-C에서 가장 흔하고 많이 쓰이는 클래스 중에 자료를 보관할 수 있는 녀석들에 대해 알아보도록 하려고 합니다. 딕셔너리랑 배열인데요, 한 번 봅시다~ 어휴~ 봄감기 때문에 아주 죽겠네요+_+ # NSArray 배열이란??? C를 배운 분들이라면 배열을 아실겁니다 ㅎ 하지만 여기서 말하는 녀석은 메소드까지 가지고 있는 클래스 입니다. 단순한 자료형이 아니죠~ 뭐 약간의 사용개념을 보면 C의 Linked-List(연결 리스트)와 비슷하다고 생각하시면 되겠습니다~.. 더보기
Objective C <10>. 상속(2) - 오버라이딩 오늘의 주제 1. 오버라이딩(재정의) 열 번째 시간입니다.^^ 상속의 개념에 대해서는 조금 잡히셨나요? 아직 잘 모르시겠다면 2012/03/28 - [Objective-C] - Objective C . 상속(1) 요기서 다시 한 번! 자 그럼 오늘은 상속에 대해서 조금만 더 알아봅시다 ㅎ 스따뚜~~~~~~~~~~~~ # 오버라이딩(재정의)? 오버라이딩 : 재정의 오버라이딩이 뭘까요? 지난번에 상속에 대해서 이야기 할 때, 자식은 부모에게 물려받은 것들을 필요에 의해 부분적으로 바꿔 쓸 수 있다고 했던 것 기억하시나요? 바로 그것을 말합니다. 메소드를 부모가 물려준 그대로 사용할 수도 있지만, 자신의 목적에 맞게 재정의해서 사용할 수 있습니다. 즉, 같은 이름의 메소드를 물려받은 녀석에서 덮어씌울 수 있단.. 더보기
Objective C <9>. 상속(1) 오늘의 주제 1. 상속의 개념 아홉번째 시간입니다.^^ Objective-C는 정말 오랜만이네요..^^ 초코찌찌님의 요청으로 새로운 개념을 하나 가지고 왔습니다~ 지난 번에는 메소드에 대해 알아보았습니다~ 이번에는 클래스의 상속에 대해 알아보도록 합니다.^^ 이 포스팅은 지난 2012/01/30 - [Objective-C] - Objective C . 클래스와 객체(인스턴스)2012/02/05 - [Objective-C] - Objective C . 클래스와 객체(인스턴스)이 두개의 포스팅 지식을 필요로 합니다~ 다 알고 계신가요?ㅎ 그렇다면 고고고고고고고고~~~~~~무비무비무비~~~~~~ # 상속이란? 상속이란 무엇일까요? 저는 쉽게 한마디로 말하면, 클래스의 확장 이라고 표현하고 싶네요. 즉, 이미 .. 더보기
Objective C <8>. 메소드의 선언과 반환값 오늘의 주제 1. 메소드 선언하고 구현하기 2. 메소드 인자 전달하기 3. 반환값(return값)에 대해 알기 여덟번째 시간입니다.^^ 정말 오랜만의 포스팅입니다...ㅋ 오늘은 제 동생의 생일이랍니다!!! 뭐... 그렇다구요 ㅋㅋㅋㅋㅋㅋ 지난 번에는 이름짓기에 대해 조금 알아보았습니다. 처음부터 이름을 잘 짓는 습관이 필요합니다. 귀찮다고 a, b, c 이런식으로 이름 지어놓으면 같이 일하는 동료는 물론 자신 스스로도 하루만 지나도 코드를 읽을 수 없습니다...ㅋㅋ 자 그럼 잔소리 생략하고 설명 들어갑니다~ 참..! 이거 보시기 전에 지난 포스트 2012/02/05 - [Objective-C] - Objective C . 클래스와 객체(인스턴스) 를 보고오시기를 추천드립니다^^ 스따뚜~~~~~~~~~~~.. 더보기
Objective C <7>. 이름짓기 오늘의 주제 1. 명명법 일곱번째 시간입니다.^^ 두 번에 걸쳐 클래스와 객체에 대하여 알아보았습니다. 이해가 잘 가시는지요? 정말 중요한 것이니 꼭 이해하고 넘어가셔야 합니다~! 이제 클래스랑 객체가 뭔지 알게 되었으니 그녀석들의 이름은 어떻게 지어야 하는지 알아보는 시간을 가져보도록 할게요^^ 출바알~~~~~~~~~ # 이름짓기 오늘은 클래스, 인스턴스, 메소드 등의 이름을 어떻게 지어야 할까에 대한 이야기를 해볼까 합니다. 이름짓기... 참 어렵죠 ㅎㅎ 오죽하면 프로그래머가 이름짓기의 도사라는 말이 나올까요-ㅋㅋㅋ 사람 이름은 돈까지 내면서 짓곤 하는데... 이녀석들도 우리의 혼을 불어넣어 만드는 녀석들이니 그만큼 깔쌈하게 이름을 지어줘야 하지 않겠습니까?ㅋㅋ 농담이구요~ 이름을 짓는 방법에 대해 .. 더보기
Objective C <6>. 클래스와 객체(인스턴스)<2> 오늘의 주제 1. Class 만들어보기 2. Class Method, Getter, Setter, Instance Method... 여섯 번째 시간입니다.^^ 지난 번에클래스와 인스턴스에 관한 개요를 알아보았습니다. 하지만, 말로만 듣고는 잘 감이 안오시지요? 물론 이번 포스팅을 보아도 아리송 하실 수 있습니다. 정말 짧은 코드이지만 많은 내용이 담겨져 있으니 이번 포스팅도 보고 또 보셔야 할 듯 합니다^^ 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 둘러보면서 꼭 몸으로 익히도록 하세요~! 자 그럼 오늘은 직접 클래스를 한 번 만들어 보도록 합시다~ 출바알~~~~~~~~~~~~ # Class 만들어 보기 자... 새로운 프로젝트를 만들고 아래 그림처럼 새로운 클래스 생성을 위.. 더보기
Objective C <5>. 클래스와 객체(인스턴스)<1> 오늘의 주제 1. Class? Object? 다섯 번째 시간입니다.^^ 이제까지는 정말 Objective C를 배웠다고 하지도 못할 정도로 아주 기초적인 내용을 다루어 보았습니다. 지난 번에는 실수 표현방법에 대해 알아보았습니다. 조금 도움이 되셨는지요?? 나중에 언젠가는 꼭 필요한 날이 올테니 알아두시길~!^^ 지금부터 몇 번에 걸쳐 포스팅할 내용들(클래스, 메소드, 인스턴스 등등)의 내용만 이해를 하신다면, "나 Objective C 70%는 이해했어" 라고 말하실 수 있을거예요. 정말 중요한 것이니 몇 번을 보고, 다른 싸이트를 검색하고, 직접 계속 생각하며 익히도록 하세요~! iOS Dev 포스팅의 클래스와 객체 챕터를 인용하여 조금 더 설명을 추가하여 보았습니다. 힘겨운 발걸음을 한 번 떼어 볼.. 더보기
Objective C <4>. 실수 표현 방법 오늘의 주제 1. 실수 표현 방법 네 번째 시간입니다. 이번에는 사실 그다지 중요하지 않은 포스팅입니다. 그냥 해보는 깨알같은 팁!?ㅋㅋㅋ 서론 필요 없고 실습 시작입니다~! # 실수 표현 방법 일단 새로운 프로젝트를 만들고 아래와 같은 코드를 입력하여 봅니다. 결과 출력 화면입니다. 간단하게 코드를 설명하자면... 일단 printf안에 %%라고 표현 한것은 로그에 %가 찍히게 하기 위함입니다... 뭐~ 그냥 그렇다구요 ㅎㅎ %lf는 double형 실수를 표현하기 위한 출력 형식 지정자라는 것은 알고 계시죠?ㅎㅎ 그냥 %lf하면 컴파일러나 프로세서마다 다르겠지만 3532.0483940000... 이런식으로 대책없이 나오는 것이 보통입니다. 그래서 좀 더 깔끔하게 출력을 하고 싶으신 분들이 있으실 겁니다... 더보기
Objective C <3>. 변수. Variable 오늘의 주제 1. 변수 알아보기 세 번째 시간입니다. 안녕하세요! 야곰입니다.ㅎㅎ 벌써 세 번째 시간이네요 ㅎㅎㅎ Objective-C는 C를 기반으로 하며 이런저런것들이 추가되고 빠지고 한 것이기 때문에 C에서 기초되어 쓰이는 것들이 많습니다. 그래서 오늘은 C에서 나오는 변수들에 대해 조금 알아보겠습니다. C가 그냥 커피라면 Objective-C는 T.O.P라 이거죠 ㅋㅋㅋㅋㅋㅋㅋ 긴말 필요없고 본론으로 들어가죠 ㅋㅋㅋ # 변수가 뭐냐? 변수라는 것은 자료를 담아 둘 수 있는 기억공간이라고 생각하시면 됩니다. 컴퓨터는 무슨 일을 처리하기 전에 주기억장치, 즉, RAM에 정보를 올려놓고 맞춰진 스케줄 대로 CPU에서 연산처리 하게 됩니다.(물론 상세히는 좀 더 복잡하고 다를 수 있지만 대충 그렇다고 생.. 더보기
Objective C <2>. 주석(Comment) 오늘의 주제 1. 코드에 주석쓰기 두 번째 시간입니다. 안녕하세요! 야곰입니다.ㅎㅎ # 주석 주석이 무엇인가 궁금하시죠?ㅎ 다른 블로그나 책에서 한 챕터를 잡고 주석을 설명하는 경우는 거의 없습니다만.. 주석은 생각 외로 굉장히 중요한 역할을 하며, 프로그래밍의 첫 습관을 들일때 매우 중요한 녀석이라고 생각합니다. 물론 실무에서도 굉장히 중요합니다. 그래서 주석은 한 챕터로 잡고 설명하려 합니다!! 오늘 포스팅은 짧습니다만, 꼭 기억해 두셔야 할 포스팅입니다^^* 주석.. 코멘트.. 같은 말입니다! 주석은 코드에 아무런 영향을 미치지 않지만, 이 코드가 어떤 코드인지, 무슨 역할을 하는 것인지에 대한 설명을 적어놓는 메모 같은 것입니다. 그런데 이게 왜 중요하냐구요? 정말 간단한 프로그램이라면 굳이 필요.. 더보기
Objective C <1>. Hello, World! 오늘의 주제 1. Hello, World 콘솔에 찍어보기 첫 번째 시간입니다. 안녕하세요! 야곰입니다.ㅎㅎ iOS 개발 포스팅을 하다보니 조금 더 상세히 알고 싶거나, 기초를 좀 더 다지고 싶으신 분들이 있을 것 같아 이렇게 Objective-C 언어도 포스팅을 시작합니다. 사실 C 또는 C++만 잘 알고 있어도 iOS개발에 큰 무리는 없습니다. 물론 다른 언어를 써 보신분들도 마찬가지 일거구요. 절차지향적인 언어를 쓰던 분들은 헷갈리는 부분들이 있을텐데, 그것은 iOS 포스팅 중간중간 설명을 넣구요~ 뭐, 여하튼! 절차지향 언어인 C언어를 하니 객체지향 언어인 Objective-C를 한 번 해볼까 합니다. 물론 C++, C#, JAVA 등등 많은 언어들이 있지만! 여기는 iOS 개발부터 시작한 블로그니.. 더보기