Objective-C 파일이 .m 확장자를 사용하는 이유는 무엇입니까?


204

Objective-C와 Cocoa를 배우기 시작한 이래로 왜 그들이 구현 파일을 위해 확장자 .m을 선택했는지 궁금해했습니다. 그것은 무언가를 의미하는 것일까 요, 아니면 임의의 문자일까요?


12
그것은위한거야 plementation.
dreamlax

2
나는 이것이 다른 누군가를 괴롭 히고 있다고 생각합니다. 그래서 그들은 .m 확장의 의미에 대해 모순되는 증거를 찾기 위해 약간의 연구를했습니다. 궁극적으로 메시지를 나타냅니다. 전체 읽기 : pempek.net/blog/2013/11/30/objective-c-file-extension/…
John Riselvato

.m파일은 말한대로 구현 파일입니다. 함께 아는 애플은 접두사 모든 것을 좋아 i하면 해당 쉽게 알 수있다 내가 mplementation이된다 mplementation 말했다없이 i. 그런 다음 파일 확장자로 첫 번째 증폭 문자를 사용했습니다 m.
Daniel

답변:


465

오늘날 대부분의 사람들은 "방법 파일"이라고 부르지 만

".m 확장자는 원래 Objective-C의 중심적인 특징을 참조하여 Objective-C가 처음 소개되었을 때 " m essages "를 의미했습니다. [...]"

( 9 페이지의 Mark Dalrymple과 Scott Knaster의 " Mac의 Learn Objective-C "책에서 )

편집 : 가려움증을 만족시키기 위해 Objective-C의 발명자 인 Brad Cox 에게이 질문에 대해 전자 메일을 보냈 습니다.

".o와 .c가 사용 되었기 때문에 간단합니다."

시각적 증거로 사용되는 이메일은 다음과 같습니다.

시각적 증거


115
Brad Cox에게 이메일을 보내 귀찮게하였습니다! 당신은 대단하고 멋진 사람입니다.
Chironex

15
그가 농담하는 것처럼 들린다. o와 c를 취했다면 왜 다른 문자가 아닌 m입니까? 나는 그것이 재미있는 답변이라고 생각하지만, 단순히 모자에서 뽑아서 m을 선택할 때 어떤 논리도 사용하지 않았다고 생각하기가 어렵습니다.
프로토 타입

2
나는 그가 농담 일 가능성이 있지만 뺨에 다소 혀가 있음에 동의합니다. .m은 메소드 또는 메시징 용일 가능성이 높지만 .o 및 .c가 이미 사용 되었기 때문에 사용되었습니다.
bigtunacan

10
왜 .o와 .c가 사용되지 않은지를 설명하는 대신 Brad가 실제로 질문에 대답하기를 바랍니다. 적어도 그것은 ... 그러나 대답의 한 측면에 빛의 작은 비트를 흘려 않습니다
still_dreaming_1

1
@INTPnerd 그는 거의 대답하지 않았다. “.m”은“.o”또는“.c”이외의 다른 것의 필요성으로 인해 먼저 선택되었고 두 번째는 m ethod, m essages, i m 을 의미 할 수 있기 때문에 선택되었습니다. 주름.
Slipp D. Thompson

8

"방법"을 나타냅니다. 로부터 comp.lang.objective-C 질문 :

Objective-C 소스의 구성은 일반적으로 C 또는 C ++ 소스 코드의 구성과 유사하며 선언 및 객체 인터페이스 는 .h 확장자로 이름 지정된 헤더 파일 로 이동 하고, 정의 및 객체 구현은 .m (짧은 파일 이름)으로 이동합니다. 위한 방법 ) 확장.


5

.m 파일은 (m) ethod를 포함합니다. 가능한 이유는 무엇입니까?


4
m 파일은 (m) 다량의 주석을 포함 할 수 있습니다! go figure :)
NeverStopLearning

-3

거친 추측 : 1983은 최초의 Macintosh 컴퓨터와 함께 ObjectC가 소개되었습니다 ... 따라서 매킨토시에서와 같이 m이거나 방법에서나 m 또는 둘 다일 수 있습니다.


4
Objective-C는 원래 Macintosh와 아무 관련이 없었습니다. 또한 정답은 이미 몇 년 전에 게시되었습니다.
Johan Halin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.