🐤
Swift개발자의 Objective-C 입문 - 확장자
January 23, 2022
다음의 포스트를 참고하여 작성하였습니다.
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에 의해 선점되어 있었기 때문이라고 한다.
-
🙃