[ 데이터 + 함수 ], 주로 파일 단위로 구성
★ 모듈의 독립성 ★
낮은 결합도와 높은 응집도
정보 은폐
다른 모듈로부터 모듈 내 구성요소를 숨기기
자료 추상화
분할과 지배
복잡한 문제를 분해, 모듈 단위로 문제 해결
1) 설계측면
모듈
관련 있는 기능을 한 부분에 모아서 라이브러리 형태
컴포넌트
인터페이스로부터 조직을 수행할 수 있는 바이너리 형태
서비스
2) 구현측면
매크로
프로그램 내에 반복되는 부분에 이름을 부여해서 이름을 호출 ('전처리기'는 매크로가 사용된 곳에 코드를 대체한다.)
인라인
프로그램 내에 반복되는 부분에 이름을 부여해서 이름을 호출 ('컴파일러'는 매크로가 사용된 곳에 코드를 대체한다.)
함수
프로그램 내에 일부 코드로 특정 작업 수행