C++ 함수 선언과 정의
1. 개요
1.1 문서 개요
이 문서는 C++에서 함수의 선언과 정의 방식에 대해 설명합니다. 함수는 프로그램 내에서 특정 기능을 수행하는 코드 블록이며, 재사용성과 구조화를 가능하게 하는 핵심 요소입니다. C++에서는 함수의 선언과 정의를 분리하여 사용함으로써, 코드의 모듈화와 인터페이스 설계를 용이하게 합니다.
2. 내용
2.1 함수 선언과 정의의 구분
2.1.1 함수 선언(Function Declaration)
함수 선언은 함수의 반환형, 이름, 매개변수 목록만을 명시하며, 함수의 본체는 포함하지 않습니다. 주로 헤더 파일에서 사용되며, 컴파일러에게 함수의 존재를 알리는 역할을 합니다.
int add(int a, int b); // 함수 선언
2.1.2 함수 정의(Function Definition)
함수 정의는 함수의 실제 동작을 구현하는 코드 블록입니다. 선언과 동일한 시그니처를 가지며, 중괄호 내부에 실행 코드를 포함합니다.
int add(int a, int b) {
return a + b; // 함수 정의
}
2.2 선언과 정의의 분리 사용
2.2.1 헤더 파일과 소스 파일의 분리
C++에서는 일반적으로 함수 선언을 헤더 파일(.h
), 정의를 소스 파일(.cpp
)에 작성하여 모듈화합니다.
// add.h
int add(int a, int b);
// add.cpp
#include "add.h"
int add(int a, int b) {
return a + b;
}
3. 마무리
C++에서 함수는 선언과 정의로 구분되어 있으며, 이 구조는 프로그램의 유지보수성과 재사용성을 높입니다. 선언을 통해 컴파일러에 함수의 존재를 알리고, 정의를 통해 실제 기능을 구현할 수 있습니다. 이 방식을 기반으로 헤더와 소스 파일을 구분하여 관리하는 것이 일반적인 구조입니다.