다음의 포스트를 참고하여 작성하였습니다.
Stackoverflow, Why do Objective-C files use the .m extension?, (2022.01.19)


파일이 나눠져있다

Objective-C는 헤더파일이 있다. Objective-C는 C언어를 확장한 언어라서 C언어와 동일하게 헤더 파일이 존재하고, 이 헤더 안에는 늘 그렇듯 외부에서 사용할 메소드, 변수 등을 선언해둬야 한다.

  • Swift : .swift
  • Objective-C : .h(헤더파일), .m(소스파일)

(약간 느낌이 Swift에서 넘어가는 것보다는, C에서 넘어가는 방향으로 이해해야할 것 같아 보인다)


.h

= 헤더파일

Class, Type, 함수와 상수 선언


.m

= 소스파일

Objective-C와 C 둘 다 포함할 수 있는 소스파일 확장자.


TMI : 왜 확장자가 .m일까? (헤더는 Header니까 h인데 m은..?)

  • 현재 대부분의 사람들은 이를 Method 파일로서 알고 있다.

  • 하지만 Mark Dalrymple과 ScottKnaster의 Learn Objective-C on the Mac에 따르면

    “The .m extension originally stood for ”messages” when Objective-C was first introduced, referring to a central feature of Objective-C […]”

    → 원래 처음 소개될 때는 ’Message’였다.

  • 더욱 정확히 하기 위해 어떤 사람이 Objective-C의 개발자인 BradCox에게 물어본 결과, 확장자가 .m또는 .mm으로 정해진 이유는 단지 .o와 .c가 C에 의해 선점되어 있었기 때문이라고 한다.

  • 🙃