본문 바로가기
C and C++

[C++] 헤더 파일(Header files) 만드는 법

by Henry Cho 2020. 1. 19.
728x90

How to make my own header files in C++

헤더 파일 만드는 법


hoo.cpp

#include <iostream>
#include "hooHeaderfile.h"
using namespace std;


int main()
{

    cout << "안녕하세요 HOO입니다." << endl;
    cout << multiply(3, 4);

    return 0;
}

hooHeaderfile.h

#ifndef TEST_H
#define TEST_H

int multiply(int x, int y);

#endif

hooHeaderfile.cpp

int multiply(int x, int y)
{
	return x * y;
}

*hoo, hooHeaderfile은 임의의 파일명입니다.


헤더 파일을 사용하기 위해서는 헤더 파일을 2가지 파일이 필요합니다. hoo.cpp를 제외한 hooHeaderfile.h 파일과 hooHeaderfile.cpp 헤더 파일이 필요하죠. (hooHeaderfile.h와 hooHeaderfile.cpp를 짧게 줄여서 .h와 .cpp라고 부르겠습니다.) 

"헤더 파일을 만드는데 왜 파일 두 개나 필요한 건가요?"

헤더 파일을 만들기 위해 추가되는 .h와 .cpp는 하는 역할이 다릅니다. .h를 통해 .cpp에 있는 함수나 클래스 중에서 어떤 걸을 가져다 사용할지를 알려준다고 볼 수 있습니다. 예를 들어 헤더 파일을 책에 비유를 들자면, .h 가 책의 내용을 간략하게 소개하는 목차라고 한다면 .cpp에는 책의 내용에 해당합니다. 따라서 .h를 통해 헤더 파일을 정의하고 선언해줌으로써 컴퓨터는 어떤 라이브러리를 사용할 것인지를 인지할 수 있습니다.

"헤더 파일은 중복을 막아준다고 하는데 무슨 말인가요?"

헤더 파일을 사용하는 이유에 대해서 찾아보면 "구문의 중복을 막아줘서 프로그램 에러를 방지할 수 있다"라고 나와 있습니다. 사실 헤더 파일에서 굳이 파일 2개를 만들지 않아도 다른 파일의 함수나 클래스를 가져다 사용하게끔 설정할 수 있습니다. 하지만 코드가 복잡해지다 보면 가독성이 안 좋아지며 개발자가 헷갈리기 시작합니다. 컴퓨터가 헷갈려서 프로그램에 에러가 생기는 것이 아니라 개발자가 헷갈리게 만들어놔서 프로그램에 에러가 생기는 것입니다. 결과적으로는 개발자가 사용하기 용이한 방법이 바로 .h와 .cpp로 구성된 헤더 파일을 이용하는 것입니다. 


헤더 파일 만드는 방법

 

Visual studio 2019에서 헤더파일 추가하는 방법

 

1. 헤더 파일 폴더에서 오른쪽 버튼을 눌러서 새 항목(Ctrl+Shift+A) 추가를 해줍니다.

2. 헤더 파일은 .h와 .cpp 파일을 따로 2개 만들어줘야 합니다.

3. .h에는 사용할 함수 및 클래스를 선언해줘야 하며 헤더 가드를 코드 앞에 작성해야 합니다.

(포스트 앞 쪽에 hooHeaderfile.h 예제 코드를 참고해주세요.)

4. .cpp에는 사용할 함수나 클래스를 정의해줍니다.

5. main 함수가 있는 파일에서 코드 윗 쪽에 #include <hooHeaderfile.h>로 헤더 파일 사용을 알려줍니다.

728x90

댓글