C++ 함수 기초부터 람다와 정적 다형성까지 한눈에 정리

2025. 6. 17. 11:29Developer Roadmap/C++

반응형

썸네일

C++ 함수 기초부터 람다와 정적 다형성까지 한눈에 정리

C++에서 함수는 코드의 재사용성과 가독성을 높이는 핵심 요소입니다. 이 글에서는 C++ 함수의 다양한 개념을 간단한 설명과 예제로 정리합니다.


✅ 함수란?

함수(Function)는 특정 작업을 수행하는 명령문의 집합으로, C++에서는 표준 라이브러리 함수와 사용자 정의 함수 두 가지로 나뉩니다.


✅ 함수 정의 형식

반환형 함수이름(매개변수) {
    // 함수 내용
}

예시:

int add(int a, int b) {
    return a + b;
}

✅ 함수 프로토타입

함수를 정의하기 전에 먼저 호출하고자 할 경우, 함수의 반환형과 매개변수만 먼저 선언할 수 있습니다.

int multiply(int a, int b); // 프로토타입

✅ 람다 함수 (Lambda)

C++11부터 지원되는 익명 함수입니다. 간결한 문법으로 즉석에서 함수 정의 가능하며, STL과 함께 자주 사용됩니다.

auto add = [](int a, int b) {
    return a + b;
};

✅ 함수 오버로딩

같은 이름의 함수를 매개변수의 타입이나 개수에 따라 여러 개 정의할 수 있습니다.

void print(int x);
void print(double x);

✅ 정적 다형성

정적 다형성은 함수 오버로딩과 템플릿을 통해 컴파일 시간에 어떤 함수를 사용할지 결정하는 방식입니다.

template<typename T>
void print(const T& value) {
    std::cout << value << '\n';
}

🧠 요약 정리

  • 함수 : 재사용 가능한 코드 블록
  • 함수 프로토타입 : 정의 전에 호출 가능하게 하는 선언
  • 람다 : 간결한 익명 함수
  • 오버로딩 : 매개변수 타입/수에 따라 동일 이름 함수 사용
  • 정적 다형성 : 컴파일 타임에 타입 결정, 성능 우수

📌 함께 보면 좋은 문서

  • LearnCpp - Functions
  • cppreference - Lambda
  • Microsoft Learn - Function Overloading

C++ 함수의 다양한 기능은 코드의 효율성과 유지보수성을 크게 향상시킵니다. 함수 개념을 제대로 익히는 것은 실력 있는 C++ 개발자로 가는 첫걸음입니다.

반응형