*승*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 1
검색어 입력폼
  • Objective – C
    Objective – C Programming Language 문법 향후 전망 특징 역사Programming Language Univ.IncheonProgramming Language Univ.Incheon History Brad Cox -1980 년대 초 Stepstone 사의 Brad Cox 와 Tom Love 가 ObJective - c 를 개발 Steve Jobs -1985 년에 Steve Jobs 가 저렴한 워크스테이션 개발을 위해 NeXT 사 설립 -UNIX 에 Objective-C 로 작성된 인터페이스 툴킷의 NeXTSTEP 운영체제 개발Programming Language Univ.Incheon History APPLE -1996 년 애플이 NeXT 사를 인수하고 MAC OS X 운영체제 발표 iPhone -2007 년 iPhone 3G 출시로 Objective - C 가 각광 받게 됨Programming Language Univ.Incheon Feature Objective – C 란 ? Objective-C 는 C 위에 덮인 얇은 레이어 그러므로 , 어떠한 C 프로그램도 Objective-C 컴파일러를 통해 컴파일 할 수 있 음Programming Language Univ.Incheon Feature Objective – C 문법의 유래 C 언어와 Smalltalk 양쪽에서 유래한 문법을 사용 . ( 사전처리 , 표기 , 함수 선언 , 그리고 함수 호출 등 ) 대부분의 문법은 C 에서 상속 , 객체 지향적인 기능들은 SmallTalk 방식의 메시지 전달을 통해서 구현됨 .Programming Language Univ.Incheon Feature 객체 지향 ? 함수라는 단위로 묶이는 절차 지향과는 달리 데이터와 함수를 하나의 덩어리로 묶어서 생각하는 방법 . 데이터와 함수를 객체로 묶는 것을 캡슐화 ( encapsulation ) 라고 부름 .Programming Language Univ.Incheon Feature 절차 지향 VS 객체 지향P속을 허용하지 않음 . 모든 메소드는 public. 클래스도 객체 . ( C++ 에서는 객체를 생성하는 설계도가 클래스임 ) 추가된 키워드는 @ 로 시작 .Programming Language Univ.Incheon Grammar 메시지 (Message) 전송 (1) 메소드 호출 메시지는 객체지향 프로그래밍을 지원하기 위해 내부적으로 추가된 문법 . Objective - C 의 객체 지향 프로그래밍에 대한 모델로 메시지를 객체에 전달하는 방식을 채용 . 이는 SmallTalk 와 매우 유사한 모델 . Objective - C 의 기본적인 차이점은 메소드를 호출 하는 것이 아니라 메시지를 전달 한다는 것이다 .Programming Language Univ.Incheon Grammar 메시지 (Message) 전송 (2) 메소드 doSomething 를 갖는 클래스인 obj 라는 개체가 구현된다면 이는 메시지 doSomething 에 대해서 응답 하는 것 . C++ 에서는 doSomething 메시지를 obj 로 보내는 행위는 다음과 같은 코드를 필요로 할 것이다 . : obj. doSomething (); Objective - C 에서는 다음과 같이 쓰인다 . : [ obj doSomething ] ; 이러한 작동 방식은 심지어 객체가 메시지에 응답할 수 없다 하더라도 그 개체에 메시지를 보낼 수 있도록 해줌 .Programming Language Univ.Incheon Grammar 클래스 (class) Objective–C 클래스는 일반 객체지향 언어의 클래스와 동일 클래스는 상태 ( 인스턴스변수 , 프로퍼티 ) 와 동작 ( 메소드 ) 로 구성 프로그램은 오브젝트 간 메시지 송수신으로 동작 Objective – C 컴파일러 지시어는 @ 로 시작 클래스 구성 @interface( 선언 ) 와 @implementation( 구현 ) 으로 구분 @interface 는 인스턴스 변수와 메소드를 선언하며 헤더 파일에 저장 @implementation 은 메소드를 구현 인스턴스 변수 선언 } …… // 메소드 선언 @end // Simple.m #import “ Simple.h ” @implementation Simple …… // 메소드 정의 @endProgramming Language Univ.Incheon Grammar 메소드 선언과 구현 @interface 에서 메소드 선언 예 -(void) sayHello : ( NSString *) name; 인수 name 과 리턴 값이 없는 (void) sayHello 메소드선언 C/C++ 의 void sayHello ( NSString *name); @implementation 에서 메소드 구현 예 -(void) sayHello : ( NSString *) name { NSMutableString *message = [[ NSMutableString alloc ] initWithString :@”Hello there”]; [message appendString:name ]; NSLog (message); [message release]; }Programming Language Univ.Incheon Grammar 메소드 구현 설명 코코아에서 문자열 처리는 NSString 클래스 사용 문자열 상수 앞에 @ 표시 NSString 은 문자열 내용 변경이 불가능 (immutable) NSString 의 서브클래스 NSMutableString 클래스를 사용하면 문자열 변경이 가능 (mutable) NSMutableString *message = [[ NSMutableString alloc ] initWtihString :@”Hello there”]; 클래스 인스턴스 생성 ( 동적 할당 ) 시 alloc 메소드 사용 C++ 표현 NSMutableString *message = new NSMutableString (“Hello there”); [message appendString:name ]; 메시지의 시작과 종료는 [] C++ 표현 message- appendString (name); , 유틸리티에 사용 . 인스턴스 변수의 내부는 액세스 할 수 없음 .Programming Language Univ.Incheon Grammar Simple 클래스 예제 (1) Simple 클래스 구현하여 콘솔에 hello 메시지 출력하는 예 // Simple.h #import Foundation/ Foundation.h @interface Simple : NSObject { } -(void) sayHello : ( NSString *) name; // 메소드 선언 @end // Simple.m #import “ Simple.h ” @implementation Simple -(void) sayHello : ( NSString *) name { NSMutableString *message = [[ NSMutableString alloc ] initWithString :@”Hello there”]; [message appendString:name ]; NSLog (message); [message release]; }// 메소드 정의 @end Simple.h , Simple.m 파일을 열고 sayHello 메소드 추가되도록 소스를 수정Programming Language Univ.Incheon Grammar Simple 클래스 예제 (2) // main.m #import UIKit / UIKit.h #import “ Simple.h ” i nt main( int argc , char* argv []) { NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ]; Simple * mySimple = [[Simple alloc ] init ]; [ mySimple sayHello :@”Lee”]; [ mySimple release]; int retVal = UIApplicationMain ( argc , argv , nil, nil); [pool release]; return retVal ; } main.m 파일NSString *) name; @end // Simple.m #import “ Simple.h ” @implementation Simple +(void) sayGoodBye { NSLog (@” GoodBye ……”); } -(void) sayHello : ( NSString *) name { NSMutableString *message = [[ NSMutableString alloc ] initWithString :@”Hello there”]; [message appendString:name ]; NSLog (message); [message release]; } @endProgramming Language Univ.Incheon Grammar Simple 클래스 예제 (4) // main.m #import UIKit / UIKit.h #import “ Simple.h ” i nt main( int argc , char* argv []) { NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ]; Simple * mySimple = [[Simple alloc ] init ]; [ mySimple sayHello :@”Lee”]; [ mySimple release]; [Simple sayGoodBye ]; int retVal = UIApplicationMain ( argc , argv , nil, nil); [pool release]; return retVal ; } main.m 에 sayGoodBye 메소드 호출 추가 빌드하고 실행하여 디버거 콘솔 창에 GoodBye …… 메시지가 출력되는 것을 확인Programming Language Univ.Incheon Vision 프로그래밍 언어 점유율Programming Language Univ.Incheon Vision Objective-C 점유율 그래프Programming Language Univ.Incheon Vision 애플 매출 추이 ( 단위 : 백w}
    공학/기술| 2011.10.06| 30페이지| 1,500원| 조회(225)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 23일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
12:49 오전
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감