본문으로 바로가기

누구나 알기쉽게 배우는 Objective-C (어플 개발 용어)

로딩중..
2012.07.17 19:59

안녕하세요. 이번에는 xcode를 사용하기전 간단히 기본 개념을 배우도록 하겠습니다.


이강좌는 매우 초보자의 입장에서 작성 되었습니다.


Objective-C 알아보겠습니다.


오브젝트C는 간단히 알기 쉽게 말해서, 컴퓨터 용어 입니다.


C, C++, java, HTML, 등등 도 다양한 컴퓨터 용어입니다.


각 컴퓨터 용어들은 각자의 쓰임새가 있습니다.


쉽게 이해하자면, 한국공장장이  한국직원에 일을 시킬때, 중국어로 일을 시키면,


알아듣지 못하고 작업도 하지않고, 제품을 못만들어 낸다고 생각하면 됩니다.


오브젝트C도


이러한 다양한 컴퓨터 용어중 iOS 아이폰이나 아이패드의 앱을 만드는 용어입니다.


  


input -> process - > outout의 과정이 있는데


바로 process를 처리하여 결과를 내게 됩니다. 


process 를 하기 위해선 각각의 변수가 필요하고 이 변수들을 움직일 각각의 함수가 필요합니다.


바로 이 각각의 변수를 instance variable 또는 member variable 이라고도 하고,


바로 이 각각의 함수를 method 라고 하고 


바로 이런변수와 함수가  Class 이고 이를 통해 만들어 지는것이 객체 라고 합니다.



쉽게 설명하자면, 과자를 만들어낼때 찍어내는 공정이라고 생각하면 됩니다.


새우깡을 예를들어서  

밀가루나 소금 등 재료들이 변수(멤버변수) 이고 

첨가량 및 구워지는온도 등등이 함수(method)의 개념이고

이러한 과정을 통틀어 (새우깡)Class 라고 부르고 

만들어지는 새우깡을 객체라고 보면됩니다.


바로 이러한 수많은 클래스들이 모여서 프로그래밍을 쉽게 할 수 있다고 생각하면 됩니다.


--------------------------------------------------------------


method에는 크게 getter 과 setter 이 있습니다.


instance 변수에 값을 설정하는 setter 라는 메소드가 있으며,


값을 받아오는 getter 란 메소드가 있습니다.


객체 지향언어는 setter와 getter을 무조껀 만들어야하지만,


@property, @synthesize 를 통해 게터와 세터를 선언하지않아도 자동으로 사용합니다.


개발과정에서 자세히 다루도록 하겠습니다.


-------------------------------------------------------------


마지막으로 ObjC 를 프로그래밍 하는 주로사용하는 공간을


크게 ******.h 파일과 ******.m 파일로 나눌 수 있습니다.



⬆(좌) m파일 , (우) h파일


.h 파일은 :  멤버변수와 메소드의 원형, 즉 선언을 하는 것이고,


.m 파일은 : 메소드의 내용, 정의를 나타냅니다.



우선 여기까지 개념을 알면 앞으로 따라하실때 어느정도 감은 잡힐것이라고 생각됩니다.

더깊게 Data Type, 객체에 관한 더깊은 개념을 나중에는 꼭 공부해 보시길 바랍니다.


  •  Objective-C 특징
  • 기존 C 에 최소한의 확장으로 OOP 기능을 넣었다 
  • 굉장히 dynamic 한 언어이다. 
  • MVC ( Model-View-Controller ) 모델을 주로 한다 
  • Message send/receive 이 기본 패러다임의 주요 요소이다 
  • 클래스 디자인시 Get / Put 개념이 많이 쓰인다 
  • 상속과 같은 수직적 클래스 확장 외에도 카테고리와 같은 개념을 이용하여 수평적 확장도 가능하다. 
  • 확장의 대상이 되는 클래스를 위한 소스코드가 없어도 확장 가능하다. 
  • 진정한 모듈러 프로그래밍이 가능하다. 
  • Garbage collection을 자체 지원한다.


---------------------------------------------------------------------


저도 ObjC를 막배우기 시작한 초심자이고, 혹시 제포스팅중 수정사항이 있으면 알려주시면 정말 감사합니다.^^



저작자 표시 비영리 변경 금지
신고

댓글을 달아 주세요

티스토리 툴바