C++/공부내용
                
              C++ Functions - Functions
                HappyFrog
                 2022. 6. 27. 02:26
              
                          
            
C++ 함수
함수는 호출될 때만 실행되는 코드 블럭입니다.
당신은 매개별수라고 불리는 데이터를 함수에 전달할 수 있습니다.
함수는 특정한 행동을 실행할 때 사용되며 코드를 재사용하기 위해서 중요한 기능입니다: 코드를 한 번 정의해두면 여러번 사용할 수 있어집니다.
함수 만들기
C++는 코드를 실행시킬 때 필요한 main() 과 같은 정의된 함수를 제공합니다. 하지만 어떤 작업을 위해서 당신이 직접 함수를 만들어 사용할 수 있습니다.
함수를 생성(종종 선언이라고 하기도 합니다.)하기 위해서는 소괄호 ()가 따라오는 함수의 이름을 명명해주면 됩니다:
문법
void myFunction() {
  // 실행시킬 코드
}
예시 설명
- myFunction() 은 함수의 이름입니다.
- void 는 함수가 반환값을 가지지 않는다는 뜻입니다. 반환 값들에 대해 다음 챕터에서 더 상세히 배울 것입니다.
- 함수 안에는 함수가 해야할 코드를 정의합니다.
함수 호출
선언된 함수는 그 즉시 실행되진 않습니다. 이것들은 "나중에 사용할 때를 위해 저장"된 것들이며 나중에 호출되면 실행됩니다.
함수를 호출하기 위해서 소괄호 () 와 세미콜론 ; 이 따라오는 함수의 이름을 작성하면 됩니다.
아래 예시에서 myFunction() 은 호출됐을 때 텍스트를 출력합니다.
예시
#include <iostream>
using namespace std;
// 함수 생성
void myFunction() {
	cout << "I just got executed!\n";
}
int main() {
	myFunction();	// 함수 호출
	return 0;
}
또한 함수는 여러번 호출될 수 있습니다.
예시
#include <iostream>
using namespace std;
void myFunction() {
	cout << "I just got executed!\n";
}
int main() {
	for (int i = 0; i < 3; i++) {
		myFunction();
	}
	return 0;
}
함수 선언과 정의
C++의 함수는 두 부분으로 이루어져 있습니다:
- 선언: 반환 타입, 함수의 이름, 매개변수(있다면)
- 정의: 함수의 내용(실행될 코드)
void myFunction() { // 선언
  // 함수의 내용 (정의)
}
참고: myFunction() 과 같이 사용자가 정의한 함수가 main() 함수 이후에 선언된다면 에러를 일으킵니다:
int main() {
  myFunction();
  return 0;
}
void myFunction() {
  cout << "I just got executed!";
}
// Error
하지만 코드의 최적화를 위해서 함수의 정의와 선언을 분리할 수 있습니다.
당신은 C++ 프로그램에서 main() 함수 위에 함수를 선언하고 아랫쪽에서 정의하는 경우를 자주 볼 것입니다. 이것은 코드를 정리하기 쉽게 해주고 가독성을 높여줍니다:
예시
#include <iostream>
using namespace std;
// 함수 선언
void myFunction();
int main() {
	myFunction();	// 함수 호출
	return 0;
}
// 함수 정의
void myFunction() {
	cout << "I just got executed!";
}
