[C언어] 1.모듈화

안녕하세요 IT뽀로로 관리자 입니다.

 

오늘은 C언어의 모듈화 방법에 대하여 알아 보려고 해요.

 

누구나 IT 종사자 및 관련인 이라면 프로그래밍 언어를 접해보셨을거라 생각해요.

 

저는 프로그래밍을 할때 중요한 것 중 하나가 바로 모듈(module)화 가 매우 중요하다고 생각해요. 

 

그럼 모듈화가 무엇인지 어떻게 하는지 알아 볼까요?

 

참고로 저의 Devlopement Eviroment 환경은 Ubuntu 18.04 를 사용하고 있습니다.

 

그럼 시작 해보도록 하죠

 

#모듈(Module)이란?

 

모듈은 다른 블로그에서 재정의 하길 다음과 같이 말합니다.

프로그래밍에서의 모듈은,

            - 프로그램을 구성하는 구성 요소의 일부

            - 관련된 데이터와 함수들이 묶여서 모듈을 형성

            - 파일 단위로 나뉘는 것이 보통이다.


출처: https://funylife.tistory.com/entry/모듈화-프로그래밍-1-모듈이란-무엇인가 [FunyLife]

 

#모듈화(Modularity)란?

 

프로그래밍에서의 모듈화는 각각의 기능들을 파일별로 나뉘어 놓는걸 모듈화라고 합니다.

 

더 쉽게 설명하자면 계산기라는 프로그램을 작성할때 모듈화한다 하면 계산기에 필요한 기능 (더하기, 빼기, 나누기)

 

이런 기능들을 파일로 따로 만들어 관리 한다는 말입니다.

 

그럼 파일이 총 4개가 필요 할 것입니다. main 1개 , 더하기 기능을 담은 파일 1개, 빼기 , 나누기  = 총 4개의 파일

 

이 파일들은 결국 컴파일 과정에서 다 처리가 되어야 합니다.

 

이렇게 하나의 프로그램을 작성할때 이식성과 확장성이 좋도록 기능별로 나누는 작업을 모듈화라고 합니다.

 

 

#실습

 

위에서 예로든 계산기 프로그램을 작성해보도록 하겠습니다.

 

1. 먼저 계산기 프로그램에 필요로한 기능들을 생각해 봅니다. 

   간단하게 더하기, 빼기 기능만 예로 들겠습니다. 

 

2. 기능들을 생각했으면 각각의 기능들을 프로그래밍 해줍니다.

이런 식으로 각각의 기능들을 나누어 모듈화 해줍니다.

 

그럼 여기서 이러시겠죠? .c파일과 .h파일엔 어떤걸 작성해야 하나요?

 

.h파일은 구현할 함수의 Prototype을 정의해 줍니다. 

 

.c파일은 .h파일에서 정의한 Prototype에대한 기능을 구현해 줍니다.

 

Add.c와 Add.h로 보여드릴게요

 

//Add.h

int Add(int a, int b);

 

 

//Add.c

int Add(int a, int b){

    return a + b;

}

 

이런 식으로 각각의 기능별로 모듈화를 해줍니다.

 

3. main에서 호출

위에 그림과 같이 함수의 Prototype이 정의된 헤더파일을 호출해주고 사용하면 됩니다.

 

함수 호출 흐름은 이렇게 되겠죠?

main.c -> Add.h -> Add.c

 

이렇게 프로그래밍을 할때 각각의 기능별로 모듈화 해주면 main에 작성할 코드도 짧아지고 한번 만들어 놓은 object

 

파일 같은 경우는 재활용이 가능하고 어디에 이식하기도 좋겠죠? 

 

앞으로 연습할때 이렇게 모듈화 프로그래밍을 하시면 실력 향상에 엔진을 달을거라고 생각합니다!

 

'IT Study > C' 카테고리의 다른 글

Pointer_1.Pointer를 잘 알아야 하는 이유  (0) 2019.04.26