inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

C개발자를 위한 최소한의 C++

C++ 파일 구조 질문

해결된 질문

128

두부

작성한 질문수 3

0

헤더1개 Cpp파일 1개  코드를 여러 개의 파일로 모듈화하는 방법에 대해 질문드립니다.

함수 모듈화, 헤더파일 디자인, 파일 구조 설계, 순환참조 방지 등에 대한 지식이 없어서 어떻게 파일을 속성에 따라 나누고, include해야 원래 코드와 동일하게 동작하게 만들 수 있는지 모르겠습니다.

 

gpt 한테물어보니 디자인패턴을 공부하라고 하는데, 디자인 패턴은 이미 파일 구조가 짜여진 내에서 클래스를 세분화하거나 코드 재사용성을 위한 상속에 관한 내용 같았습니다.

 

위 경우 어떤 내용을 공부하거나 참고하면 좋을까요? 정말 고민되어서 여쭤봅니다. ㅎㅎ

c++ microsoft-windows 객체지향 디자인패턴

답변 1

0

널널한 개발자

'모듈화'는 질문하신 내용보다 조금 더 확장된 개념입니다. C++ 같은 Native 언어에서 모듈이란 통상의 경우 .exe, .dll처럼 실행 파일 단위로 분리되는 것을 말하기도 합니다. 물론 여러 CPP파일을 두는 것도 모듈화라 할 수 있겠으나 '분할 컴파일' 이라고도 합니다.

질문하신 설계에 관한 내용은 사실 경험이 생기면 자연스럽게 알게 되는 것입니다. 설계의 좋고 나쁨을 논하려면 나쁜 설계로 말미암은 문제상황을 직접 경험해봐야 합니다. 그러나 이제 입문하는 단계에서는 이를 직접 경험하기가 어렵습니다.

디자인 패턴 공부도 좋고 클린코드도 좋고 각종 설계에 관한 좋은 공부도 좋지만 이론이 와닿기 보다는 골치아픈 이론으로 보일 가능성이 높습니다. 그러니 추상적인 것에 너무 매달리지 말기 바랍니다. 추상적인 결론을 내릴 수 있는 단계가 되려면 적어도 3~4년 정도의 실무 프로그래밍 경험은 필요하다 생각하는 것이 좋겠습니다.

그리고 지금 배우는 내용에서 '객체지향 주소록'을 완벽히 마스터 하기 바랍니다. 실제로 디자인 패턴이 몇 가지 적용되어 있습니다. 건투를 빕니다! 😄

인터페이스 상속과 추상 자료형 2:00 질문

0

50

1

13분 42초의 예제

0

51

2

네임스페이스 스코프 내에서 정의된 변수, 함수들이 위치하는 곳 질문

0

46

1

소멸자 가상함수 질문

0

55

2

이동생성자의 매개변수로 넘어가는 임시객체의 값 유지 관련하여 질문이 있습니다.

0

62

2

임시 객체 복사 생성자 질문드립니다

0

64

2

변수 바인딩에 대한 의문점

0

113

1

빈 포인터에 멤버함수 호출

0

104

1

파생클래스에서 virtual함수를 선언에 대한 질문입니다.

0

115

2

순수 가상 클래스 선언과 일반 인트 변수의 선언과 다른가요?

0

136

2

안녕하세요. 이동의미론에 대해 제가 잘 이해했는지 궁금합니다.

0

128

1

인스턴스의 개념에 대해 int a(3), int(5) 예시를 바탕으로한 질문입니다.

0

189

2

식별자 검색 순서 관련 namespace 생략 관련 오류에 관한 질문

0

175

1

마지막 주소록 예제 c 파일 한글 깨짐 현상

0

190

1

nullprt vs null

0

153

2

쓸데없지만 질문드리고싶습니다

0

181

1

복사 생성자 질문 드립니다.

0

220

1

생성자 궁금한거 있습니다

0

217

2

단순대입 오류 발생 이유

0

234

1

네가지 형변환 강의 질문

0

282

1

CMyString Step10 강의 질문

0

173

1

임시 객체와 보이지 않는 복사 생성 강의 질문

0

267

2

섹션8 3번째 강의 (실습 프로젝트 - 문자열 필터개선) 질문

0

218

2

차이점을 잘 모르겠습니다.

0

231

1