오브젝티브 - C - 위키백과, 우리 모두의 백과사전 오브젝티브 - C 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 오브젝티브 - CObjective - C패러다임 반영형, 클래스 기반 프로그래밍, 객체 지향 프로그래밍발표년도 1984년설계자 톰 러브, 브래드 콕스개발자 애플최근 버전 2. 0주요 구현체 클랭, GCC 영향을 받은 언어 C, 스몰토크영향을 준 언어 그루비, 자바, Nu, 오브젝티브 - J, 톰, 스위프트사용 중인 파일 확장자. h,. m,. mm,. C 오브젝티브 - C ( 영어 : Objective - C ) 는 C 프로그래밍 언어에 스몰토크 스타일의 메시지 구문을 추가한 객체 지향 언어이다. 현재, 이 언어는 애플의 매킨토시의 운영 체제인 OS X과 아이폰의 운영 체제인 iOS에서 사용되고 있다. 오브젝티브 - C는 애플의 코코아를 사용하기 위한 기본 언어이며, 원래는 넥스트의 NeXTSTEP 운영 체제에서 주 언어였다. 일반적인 ( Generic ) 오브젝티브 - C는 앞에서 언급한 라이브러리를 사용하지 않는다. 목차 1 역사 1. 1 NeXT로 인기를 얻다 2 문법 2. 1 메시지 2. 2 클래스
티브 - C는 앞에서 언급한 라이브러리를 사용하지 않는다. 목차 1 역사 1. 1 NeXT로 인기를 얻다 2 문법 2. 1 메시지 2. 2 클래스의 선언과 구현 2. 2. 1 선언 ( Interface ) 2. 2. 2 구현 ( Implementation ) 2. 3 프로토콜 ( Protocols ) 3 헬로 월드 프로그램 4 변종 4. 1 오브젝티브 - C 4. 2 오브젝티브 - C 2. 0 5 각주 6 외부 링크 역사 [ 편집 ] 1980년대 초, 소프트웨어 공학의 일반적 관행은 구조적 프로그래밍의 관습을 따르는 것이었다. 이 프로그래밍 기법은 프로그램을 잘개 쪼개어 작업하기 쉽도록 만드는 것을 돕기 위한 기법이었다. 하지만 풀어야 할 문제 규모가 커짐에 따라 구조적 프로그래밍 기법의 유용성은 감소하였는데, 더 많은 프로시저가 작성되어야 하다 보니 재사용성이 떨어지고 프로그램 제어 흐름도 복잡해지기 때문이었다. 많은 사람들은 객체 지향 프로그래밍 기법이 이 문제에 대한 해답이 될 수 있지 않을까 하고 생각하였다. 사실, 스몰토크라는 프로그래밍 언어는 이미 이러한 공학 이슈들을 섭렵하고 있었다. 세상에서 가장 복잡한 시스템들 중 몇몇이 스몰토크 환경에서 작성되었다. 하지만 이 언어에도 한 가지
모든 C프로그램은 다 오브젝티브 - C로 컴파일 가능하며, 프로그램의 의미도 양 언어가 동일하다는 의미이다. 오브젝티브 - C는 C 언어와 스몰토크 양쪽에서 유래한 문법을 사용하고 있다. 전처리 ( preprocessing ), 표기 ( expressions ), 함수 선언 ( function declarations ), 그리고 함수 호출 ( function calls ) 등과 같은 대부분의 문법은 C에서 상속된 것이며, 객체 지향적인 기능들은 스몰토크 방식의 메시지 전달을 통해서 구현되었다. C와는 달리 다중상속을 지원하지 않으며, 그 대신 자바의 인터페이스에 해당하는 프로토콜 ( protocol ) 을 정의할 수 있다. 또한 카테고리 ( category ) 를 통해 기존 클래스에 새로운 메쏘드를 추가함으로써 클래스의 기능을 확장할 수 있다. 이는 상속을 통해서만 기능을 확장할 수 있는 대다수의 객체 지향 언어와 크게 구별되는 특성이다. C나 자바 등과는 달리 객체에 대해서 완전한 동적 형 변환 ( dynamic typing ) 을 지원한다. 메시지 [ 편집 ] 메시지는 객체 지향 프로그래밍을 지원하기 위해 내부적으로 추가된 문법이다. 오브젝티브 - C의 객체 지향 프로그래밍에 대한 모델로 메시지를 객체에 전달하는 방식을
단일한 플랫폼 - 중립적 포맷으로 저장될 수 있어야 했다. 결국 콕스와 러브는 프로덕티비티 프로덕츠 인터네셔널 ( Productivity Products International ; PPI ) 이라는 새로운 벤처 회사를 설립한다. 목적은 오브젝티브 - C 컴파일러와 강력한 클래스 라이브러리를 결합한 상업 제품을 만들어 파는 것이었다. 1986년에 콕스는 오브젝티브 - C의 명세를 담은 책 " 객체 지향 프로그래밍 " ( Object - Oriented Programming, An Evolutionary Approach ) 를 출간한다. 이 책에서 그는 재사용성의 문제가 단순히 언어 차원의 문제가 아님을 지적하였으나, 이후 오브젝티브 - C는 종종 다른 언어와 기능적으로 비교되고는 했다. NeXT로 인기를 얻다 [ 편집 ] 스티브 잡스는 애플을 떠난 후, 넥스트라는 회사를 설립한다. 1988년, 넥스트는 스텝스톤 ( StepStone ; 앞에서 말한 PPI 회사의 새로운 이름이며, 오브젝티브 - C의 상표권자이다. ) 에게 오브젝티브 - C의 사용 허가를 받고, 오브젝티브 - C를 지원하기 위하여 GCC 컴파일러를 확장시키고 나서, 넥스트스텝 사용자 인터페이스와 인터페이스 빌더 ( Interface Builder ) 를 구축하
assname / / 부모클래스 이름 { / / 클래스 변수 } classMethod1 ; / / 클래스 메소드 ( return - type ) classMethod2 ; ( return - type ) classMethod3 : ( param1 - type ) param1 - varName ; - ( return - type ) instanceMethod1 : ( param1 - type ) param1 - varName : ( param2 - type ) param2 - varName ; / / 인스턴스 메소드 - ( return - type ) instanceMethod2WithParameter : ( param1 - type ) param1 - varName andOtherParameter : ( param2 - type ) param2 - varName ; 클래스의 선언은 시작하고 끝난다. 기호는 클래스 메소드를 뜻한다. 자바의 정적메소드와 동일하며, 선언된 클래스의 인스턴스의 유무에 상관없이 항상 존재한다. 클래스 메소드는 클래스 변수에 대한 접근권한이 없다. - 기호는 인스턴스 메소드이며 클래스가 인스턴스화가 되어야만 사용할 수 있다. 메소드에 매개변수가 있을 경우 일반적인 프로그래밍
다중 상속을 지원하지 않고 인터페이스라는 이름으로 오브젝티브 - C의 프로토콜의 개념을 사용한다. [ 2 ] 비공식 프로토콜 ( Informal protocols ) 은 클래스가 구현할 수 있는 메소드의 리스트이다. 클래스가 구현하기 위하여 선택한 메소드 리스트이다. 이것은 그 문서에 명세 되어 있는데, 왜냐하면 언어 안에는 그 리스트를 표현하기 위한 문법이 없기 때문이다. 비공식 프로토콜은 종종 선택적 메소드 ( optional method ) 를 포함하는데, 이 메소드가 구현되면, 클래스의 동작 ( behavior ) 이 바뀔 수 있기 때문이다. 예를 들어, 텍스트 필드 클래스는 유저가 타이핑한 글을 자동 완성 기능 ( auto - complete feature ) 을 수행하기 위한 선택적 메소드를 가진 비공식 프로토콜 구현하기 위한 대리자를 가질 수 있다. 그 텍스트 필드는 그 위임이 그 메소드를 ( 반영 ( 컴퓨터 과학 ) ( 컴퓨터 과학 ) ( Reflection ) 을 통해서 ) 구현되며, 그것이 분명하면, 자동 완성 기능을 지원하기 위하여 그 위임된 메소드를 호출한다. 공식 프로토콜 ( formal protocol ) 은 자바와 C # 의 인터페이스와는 유사하다. 이 프로토콜은 어떤 클래스가 메소드들을 구현하기 하기
백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 [UNK] 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 [UNK] 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 다른 프로젝트 공용 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 [UNK] 日 本 語 [UNK] [UNK] / [UNK] 中 文 [UNK] - [UNK] - [UNK] [UNK] 語 링크 편집 이 문서는 2019년 3월 30일 ( 토 ) 18 : 27에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. [UNK] 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
티브 C - 2. 0 공개를 발표하였다. 각주 [ 편집 ] ↑ Why do Objective C files use the. m extension, 오브젝티브 - C의 개발자인 Brad Cox의 답변. ↑ 181쪽, 오기하라 타케시 ( 2009 - 07 - 023 ). 《 objective - C : 맥과 아이폰 애플리케이션 프로그래밍 》. ( 주 ). ISBN 978 - 89 - 7914 - 683 - 7 13560 | isbn = 값 확인 필요 : length ( 도움말 ). 다음 날짜 값 확인 필요 : | date = ( 도움말 ) ↑ " Objective - C 2. 0 : more clues ". Lists. apple. com. 2006년 8월 10일. 2009년 6월 18일에 원본 문서에서 보존된 문서. 2010년 5월 30일에 확인함. ↑ " Re : Objective - C 2. 0 ". Lists. apple. com. 2010년 11월 24일에 원본 문서에서 보존된 문서. 2010년 5월 30일에 확인함. 외부 링크 [ 편집 ] The Objective - C 2. 0 Programming Language - 애플 Objective - C GNUstep Base Programming Manual Objective - C by Br
립스 기니 마이크로소프트 비주얼 스튜디오 NetBeans 파생 언어 C C # D 오브젝티브 - C Go V 분류 vdeh프로그래밍 언어 비교 연표 역사 APL 어셈블리어 베이직 C C C # 코볼 포트란 Go 그루비 하스켈 자바 자바스크립트 ( JS ) 코틀린 리스프 루아 오브젝티브 - C 파스칼 펄 PHP 파이썬 루비 러스트 셸 스몰토크 스위프트 비주얼 베이직 닷넷 ( VB. NET ) 더 보기... 분류 목록 알파벳순 분류순 만들어진 시기순 영어 기반이 아닌 목록 전거 통제 LCCN : sh2008009199 GND : 4335874 - 3 SUDOC : 077936582 BNF : cb14537421z ( 데이터 ) 원본 주소 " " 분류 : 객체 지향 프로그래밍 언어1986년 개발된 프로그래밍 언어C 프로그래밍 언어 계열숨은 분류 : 문법 강조 오류가 있는 문서인용 오류 - 날짜인용 오류 - ISBN영어 표기를 포함한 문서LCCN 식별자를 포함한 위키백과 문서GND 식별자를 포함한 위키백과 문서BNF 식별자를 포함한 위키백과 문서 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색
llo World " ) ; return 0 ; } 이 프로그램은 표준 콘솔 출력으로 Hello World! 를 출력한다. 원래 6, 7번째 줄을 NSLog ( @ " Hello World! " ) ; 로 바꾸어도 동일하게 동작하지만, C와, 오브젝티브 - C의 다른 점을 보여주기 위해 NSString형의 helloWorldStr 변수를 이용하여 표현하였다. 변종 [ 편집 ] 오브젝티브 - C [ 편집 ] 오브젝티브 - C은 GNU 컴파일러 모음 ( GCC ) 과 클랭에 대한 프론트엔드가 수용하는 언어 변종이다. C와 오브젝티브 - C 문법의 모음을 이용하는 소스 파일을 컴파일할 수 있다. 오브젝티브 - C는 C에 오브젝티브 - C의 C 추가 확장 기능을 포함시킨다. 오브젝티브 - C 2. 0 [ 편집 ] 2006년 세계 개발자 회의에서 애플은 " 현대적인 가비지 콜렉션, 문법 기능 향상 [ 3 ], 성능 개선 [ 4 ], 64비트 지원 " 을 포함하는, 오브젝티브 - C 언어의 리비전으로서 오브젝티브 C - 2. 0 공개를 발표하였다. 각주 [ 편집 ] ↑ Why do Objective C files use the. m extension, 오브젝
오브젝티브-C(영어: Objective-C)는 C 프로그래밍 언어에 스몰토크 스타일의 메시지 구문을 추가한 객체 지향 언어이다. 현재, 이 언어는 애플 매킨토시의 운영 체제인 OS X과 아이폰의 운영 체제인 iOS에서 사용되고 있다. 오브젝티브-C는 애플의 코코아를 사용하기 위한 기본 언어이며, 원래는 넥스트의 NeXTSTEP 운영 체제에서 주 언어였다. 일반적인(generic) 오브젝티브-C는 앞에서 언급한 라이브러리를 사용하지 않는다.