• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

4.2 29분 48초

23.08.25 17:02 작성 조회수 164

2

안녕하세요 교수님.

extern 설명하실 때, 초보자 중에 include로 cpp파일을 가져오는 사람도 있다 그러셨는데, 혹시 이런 방식으로 가져오면 안 좋은 방식인 건가요? 혹시 그렇다면 이유가 있나요??

답변 1

답변을 작성해보세요.

2

Soobak님의 프로필

Soobak

2023.08.25

안녕하세요, 답변 도우미 Soobak 입니다.

#include 지시문은 주로 헤더 파일을 포함시킬 때 사용합니다. (.h 또는 .hpp)
.cpp 파일을 직접 include 하는 것은 중복 정의, 컴파일 시간 증가, 의존성 문제, 코드 가독성 감소 등의 단점이 있을 수 있습니다.

  • 중복 정의 : 같은 cpp 파일을 여러 곳에서 #include 하게 된다면, 함수나 클래스의 정의가 중복되어 링킹 에러가 발생할 수 있습니다.

  • 컴파일 시간 증가 : cpp 파일을 여러 곳에서 포함하면, 컴파일러는 해당 파일을 여러 번 처리해야 합니다.

  • 의존성 문제 : cpp 파일을 직접 포함하면 해당 cpp 파일이 의존하는 다른 헤더나 소스 파일도 함께 포함될 가능성이 있습니다.

  • 코드 가독성 감소 : cpp 파일을 직접 포함하면, 코드의 구조와 의도를 파악하기 어려워질 수 있습니다.
    헤더와 소스 파일의 분리는 코드의 가독성 향상에 도움이 됩니다.

 

현재 학습 단계에서는 이 정도의 문제들이 있을 수 있다는 점만 인지하시고, 추후 직접 여러 소스파일들을 보시면서 직접 장/단점을 느껴보시는 것이 더 좋을 것 같다고 생각합니다.

박제영님의 프로필

박제영

2024.01.04

너무 좋은 답변입니다 감사합니다.