C++ 함수 기초부터 람다와 정적 다형성까지 한눈에 정리
2025. 6. 17. 11:29ㆍDeveloper 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++ 개발자로 가는 첫걸음입니다.
반응형
'Developer Roadmap > C++' 카테고리의 다른 글
C++ 포인터와 레퍼런스 완전 정리 : 스마트 포인터부터 메모리 누수까지 (0) | 2025.06.18 |
---|---|
C++ 데이터 타입 완벽 정리 - 기본형부터 사용자 정의 타입까지 (0) | 2025.06.17 |
C++ 제어문 정리: if-else, switch, for, while, do-while 완전 이해 (0) | 2025.06.16 |
C++ 기본 연산자 총정리 - 산술, 관계, 논리, 비트 연산까지 한눈에 (0) | 2025.06.12 |
C++ 개발 환경 설정 방법 (Windows, macOS, Linux 전체 가이드) (1) | 2025.06.07 |