[C++] Header File (헤더 파일)

2021. 3. 30. 13:00 기타/C++

C++에서 헤더는 "어딘가에" 정의된 기능의 선언을 관리하는 영역을 의미합니다. 기본적으로 헤더는 선언을 모아둔 것으로 그것을 기술한 파일이 바로 헤더 파일입니다. 

 

헤더 파일은 #include를 이용해서 소스에 포함시킬 수 있습니다. 예를 들어 다음과 같이 Token 코드의 구조를 개선하고자 Token 코드의 선언과 정의 부분을 분리할 때 아래와 같이 Token.h 파일을 만들 수 있습니다.

 

아래는 각 소스 파일을 구현한 코드입니다.

// Main.cpp
#include "Token.h"

int main()
{
	Token token1(4);
	Token token2(5);

	token1.printToken();
	token2.printToken();
    return 0;
}
// Token.cpp
#include "Token.h"

Token::Token(int val) {
	this->val = val;
}

void Token::printToken() {
	std::cout << this->val << std::endl;
}
// Token.h
#include <iostream>

class Token {
private:
	int val;
public:
	Token(int val);
	void printToken();
};

 

여기서 눈여겨 봐야할 것은 Token.h 헤더 파일에 추가한 #include <iostream> #include "Token.h"문을 통해 Token.h를 포함한 소스 파일들에 같이 포함된다는 것입니다. Token.cpp에서 #include <iostream>을 포함하지 않았지만 std:cout << .. << std::endl; 구문을 쓴 것을 보면 알 수 있죠.

 

그렇다면 여기서 #include 전처리 키워드의 기능을 유추 할 수 있습니다. 말그대로 #include는 해당 헤더파일을 코드 그대로 소스 코드내에 포함시킨다는 의미인 것입니다. 



출처: https://engkimbs.tistory.com/564?category=688856 [새로비]