백발 청년 햄버거 메뉴

목차

    홍정모 교수님의 따배씨++ 인강 강의노트 15번째 헤더파일 만들기 편 입니다.

     

    이전 강의는 아래에서 확인 가능합니다. 

    14부 : 선언과 정의의 분리 https://whiteheadyouth.tistory.com/250

    13부 : 기본적인 서식 맞추기 https://whiteheadyouth.tistory.com/246

    12부 : 연산자와의 첫만남 https://whiteheadyouth.tistory.com/243

    11부 : 지역범위 Local Scope https://whiteheadyouth.tistory.com/238

    10부 : 키워드와 식별자 이름 짓기 https://whiteheadyouth.tistory.com/234

    9부 : 함수에서 여러개의 리턴값 반환하기(C++17) https://whiteheadyouth.tistory.com/228

    8부 : 함수와의 첫 만남 https://whiteheadyouth.tistory.com/222

    7부 : 입출력 스트림과의 첫 만남 https://whiteheadyouth.tistory.com/211

    6부 : 변수와의 첫 만남 https://whiteheadyouth.tistory.com/208

    5부 : 주석을 잘 다는 방법 https://whiteheadyouth.tistory.com/183

    4부 : 프로그램의 구조 https://whiteheadyouth.tistory.com/181

    3부 : 코딩하다 막혔을 때는? https://whiteheadyouth.tistory.com/170

    2부 : 솔루션, 프로젝트 관리 https://whiteheadyouth.tistory.com/161

    1부 : 통합개발환경의 기본적인 사용법 - 윈도우 비주얼 스튜디오 https://whiteheadyouth.tistory.com/155

    0부 : 홍정모 교수님의 따배씨++ 무료로 인강 듣는 방법 https://whiteheadyouth.tistory.com/89  

    사실 12월에 듣고 강의노트 적어놓고 포스팅을 2달동안 안했더니 이 내용이 뭔 내용인지 머릿속이 하얘지고 있는 백발청년 입니다. 교수님이 저 공부하나 안하나 확인하러 오신것 같아서 급히 다시 포스팅을 진행해봅니다. 아, 홍정모 교수님이 가끔 제 블로그에 오셔서 따뜻한 응원의 말씀도 해주고 가시고 가끔 제 포스팅에서 잘못된점이 있으면 이야기 하고 가시곤 합니다.( 저 이런사이에요. 호호호 )죄송합니다.

    따배씨++ 헤더파일만들기

    지금은 짧은 편이지만 나중엔 코드 자체가 길어지게 될 것입니다. 길어지게 되면 나중에 복잡한 프로그램을 짤 때 굉장히 애먹는 경우가 생길 것입니다. 코드를 여러 파일로 쪼개는 방법을 알아두어야 합니다. 필요할 때가 오면 능숙하게 사용하는 방법을 연습하시면 됩니다.

     

    add 함수를 다른 파일로 옮겨볼게요.  add.cpp 파일을 만들어 줍니다.

     

    add.cpp 파일은 add라는 함수를 저장하고 있네요. add라는 함수는 a와 b를 더하는 함수입니다.

     

    add.cpp파일은 어디에 있을까요? 상위 폴더 열기를 클릭해봅니다.

     

    add.cpp 파일이 보이네요.

     

    main에서 add라는 함수를 사용해보았는데, add라는 함수에 대한 선언이 없으니까 에러가 보이네요.

    선언을 넣어주도록 하겠습니다.

     

    int add(int a, int b) 라고 선언을 해 주었습니다.

    그런데 add함수를 사용하고 싶을때 마다 선언해주기가 굉장히 번거롭죠.

    그래서 헤더파일을 만들어볼까 합니다.

     

    우측 헤더파일에서 마우스 오른쪽 클릭, 추가 버튼을 클릭합니다 .

     

    헤더파일을 만들어보겠습니다. 파일명은 add.h

     

    #pragma once는 전처리기 입니다.  전처리기에 대한 설명은 다음에 다시 하는거로...

    다시 main이 있는 1.cpp 로 돌아가서 add 함수의 선언을 add.h로 옮기도록 하겠습니다. (아까 전처리기라고 했던 부분 밑에 선언이 들어가 있죠?)

     

    #include <iostream>이라고 거의 모든 프로젝트마다 무의식중에 작성하던 그 #include... 이젠 add.h를 불러와줍니다. 근데 왜 iostream은 < > 이고,  add.h는 " " 일까요?  iostream은 표준적으로 사용되는 라이브러리 이고, iostream.h가 있는 위치가 다릅니다.

     

    iostream의 위치

     

    iostream의 내용

    add.h가 있는 폴더로 들어가서 Myheaders라는 폴더를 만들고 add.h를 옮겨보았습니다.

     

    옮기고 나면 솔루션 탐색기 내에 헤더파일을 열수가 없다고 오류메시지가 나타납니다.

     

    삭제할 때 옵션 확인!

    제거(REMOVE)와 삭제(DELETE)는 차이가 있어요. 제거는 빌드에서만 빠지고 삭제는 파일 자체를 삭제하는 기능입니다. 여기서는 제거를 하는게 맞겠죠.

     

    제거를 하고 Myheaders 폴더에서 드래그 앤 드랍으로 넣어주고 나니 add.h를 또 못찾고 있으니...

     

    이렇게 해 주었습니다. 현재 작업하고 있는 위치에서 하위 폴더에 옮겨놨을 경우 폴더 이름도 같이 적고, /로 구분해주고 파일 이름을 입력해주면 헤더파일을 찾을 수 있습니다. 나중엔 헤더파일을 굉장히 많이 만들게 되는데 그럴 때는 폴더로 묶고 정리해야 합니다. 코딩을 하면서 정리하는 버릇을 처음부터 들이는게 굉장히 중요합니다.

    쪼개는 방법은 보았지만, 실용적으로 활용하는건 어떻게 하는걸까요? 보통은 헤더를 먼저 만들어주고 헤더를 인클루드 하는 순서로 작업을 많이 합니다. 지금은 헤더에 바디를 넣어줘도 문제가 없습니다. 그러나 가급적 cpp파일로 분리하는게 좋다고 하네요. 나중에 객체 지향으로 코딩을 하게 되면 클래스를 선언하게 되는데, 클래스를 처음에 메인에 같이 짜놓고 하는거보단 대부분의 경우 애초에 헤더와 cpp로 쪼개서 나가는 경우가 많다고 해요. 그다음 인클루드를 쓰는 식으로 코딩합니다.  그게 더 빠르답니다. 어차피 쪼개게 되어있고 클래스는 대부분의 경우 헤더나 cpp파일로 쪼개는게 일반적이니 습관을 들이면 장기적으로 볼 수록 도움이 된다고 합니다.

    이어지는 강의 몇개 정도는 반드시 같이 봐주시고, 연습문제 같은거 푸시면서 실습해보고 코드를 정리하는 방법을 숙달되도록 반복하면 좋은 프로그래머가 될 수 있으니 우리 모두 힘내서 공부합시다!

    친구와 함께하면 더 좋아요!


     



     

     

    댓글
    위쪽 화살표
    도움이 되었다면 공감(하트)과 댓글을 부탁드려요.
    //스크립트는 script로 수정해주세요.//