[c++] 컴파일 분할 (Separate Compilation)

파이톨치·2022년 5월 20일
1

대학수업

목록 보기
13/32

Separate Compilation

Encapsulation Reviewed

캡슐화를 만들 때를 생각해보자. 클래스를 구현하면서 필요한 함수들을 분리한다. 또 클래스가 들어있는 파일과 그렇지 않은 파일로 나눈다. 완전히 분리 되면 클래스가 들어있는 함수가 고치거나 메인 함수가 들어있는 파일을 고치면 된다. 완전히 분리되면 그 두 파일은 독립된 파일이 된다. 이것이 객체 지향 프로그래밍이라고 한다. 독립된 것들을 분리하는 것이다.

클래스를 만들 때 몇가지 규칙이 있는데 복습을 해보자.

클래스 복습

우리가 클래스 내에서도 분리를 하는데 여기에는 몇가지 규칙이 있다.
1. 모든 멤버 변수는 private여야 한다.
2. Basic class operation들은 퍼블릭이거나, Friend, Overloaded 된 연산자이다.

클래스 헤더 파일

아까 말했듯이 클래스가 들어있는 파일과 메인 파일로 나눈다고 했었다. 이 때 클래스가 들어있는 파일을 헤더파일로 만들어서 #include "myclass.h"와 같은 형식으로 사용한다. 클래스의 구현은 myclass.cpp에서 한다. myclass.cpp에서는 함수의 정의, main()등을 포함한다.

Using #ifndef

헤더파일은 다음과 같은 구조로 짜야한다. 컴파일러에게 헤더파일이 한번 컴파일 하라고 말해주는 것인가? 맞는 것 같다. 여러번 정의되는 것을 피하는 것이라고 한다.

#inndef FName_H
#define FName_H

// code

#endif
profile
안알랴줌

0개의 댓글