[c++] 함수 정의와 선언의 차이점

C++에서 함수의 정의와 선언은 프로그래밍에서 중요한 차이점을 가지고 있습니다. 함수를 정의하고 선언하는 방법과 그들 사이의 관계에 대해 이해하는 것은 C++ 프로그래밍에서 기본적인 개념입니다.

함수 선언

함수 선언은 함수의 이름, 매개변수의 데이터 유형 및 반환 값의 데이터 유형을 명시하여 함수의 존재를 컴파일러에 알리는 것입니다. 함수의 몸체(body)는 포함되지 않습니다. 이를테면:

// 함수 선언
int add(int a, int b);

위의 예제에서 add 함수는 두 개의 int 매개변수를 사용하고 int 형식의 반환 값을 가지고 있음을 선언합니다.

함수 정의

함수 정의는 실제로 함수의 작동 방식과 몸체를 정의합니다. 이것은 함수의 선언과 함께 함수의 작업을 실제로 수행합니다. 예를 들면:

// 함수 정의
int add(int a, int b) {
    return a + b;
}

위의 예제에서 add 함수의 몸체를 정의하고, 두 개의 매개변수를 받아들이고, 두 매개변수를 더하여 결과를 반환합니다.

따라서 함수 선언은 함수의 존재를 알리고, 함수 정의는 실제로 함수를 작동시킵니다.

이러한 개념을 이용하여, C++에서 함수를 선언하고 정의함으로서, 효율적이고 모듈화된 코드를 작성할 수 있습니다.

참고 자료