✅ 목표 (Goal)

헤더파일이 반드시 필요할까? 에 대해서 생각해보자.

✅ 질문에 대한 답변

결론먼저 말하자면

헤더 파일이 문법적으로는 반드시 필요한 것은 아니다

헤더파일이 없어도 컴파일 및 빌드 하는데 아무런 지장이 없다.

헤더파일을 만들고 말고는 개발자 마음이다.

✅ 헤더 파일을 제거해보자.

앞서 작성했던 예제에서 cow.h 파일을 main.c 안으로 넣어보자.

(1) include를 제거하고

(2) cow.h의 내용을 main.c에 그대로 복사한다.

이렇게 코딩해도 빌드도 잘되고 실행도 아무런 문제가 없다.

#include <stdio.h>
//#include "cow.h" //(1)

void meow() { // 고양이,야옹
    printf("야옹\\r\\n");
}

void woof() { // 강아지,멍멍
    printf("멍멍\\r\\n");
}

void moo() { // 소, 음메 // (2)
    printf("음메\\r\\n");
}

int main() {
    meow();
    woof();
    moo();

    return (0);
}

✅ 헤더파일이 꼭 필요할까?