저번에 코딩했던 Low High Seven 게임에 함수를 사용한다면 좀 더 효율젹인 코드로 바꿀 수 있다.
따라서 이번에는 함수를 배우도록 하겠다.
함수(function)
일반적인 수학의 함수와 비슷한 느낌으로 생각할 수 있다.
위 사진과 같이, f(x)함수에 a라는 값이 입력되면 f(a)의 값이 반환되는 것이다. 이는 프로그래밍의 함수에서도
똑같은 역할을 해준다.
우선 함수의 선언 방법부터 알아보자.
반환형은 우리가 앞서 배웠던 자료형 중 하나를 말한다. 위의 예시에서는 int를 넣었으므로 반환되는 값이 무조건 정수라는 것을 알 수 있다.
콜네임은 변수 이름 짓듯이 하면 되는데, 일반적인 변수들과 헷갈리지 않도록 잘 구분짓는게 좋다.
그래서 보통 함수 이름의 앞글자는 대문자로 표시하기도 한다.
매개변수는 함수를 호출하여 사용할 때, 넣어주는 input을 말한다. 어떤 값을 넣어주냐에 따라서 반환되는 값이 매번 달라진다.
예시처럼 Add5() 함수 안에 코드를 적어두고 return으로 반환값을 내보내는 것이 함수를 정의하는 방식이다.
앞의 반환형이 무엇이냐에 따라서 return으로 내보내는 값이 달라지므로, 신경써서 반환형을 정해야한다.
함수의 종류에도 여러가지가 있는데, 크게 4가지로 나눌 수 있겠다.
input O & output X 형식
input으로 들어오는 값, 즉 매개변수는 존재하지만 return으로 반환하는 값이 존재하지 않는 형식이다.
이렇게 반환할 값이 존재하지 않는다면 반환형을 void로 사용하면 된다.
반환하는 값이 없는 함수들은 주로 출력하는 역할만 가지고 있다.
input X & output X 형식
매개변수도 없고 반환하는 값도 존재하지 않는 형식이다. 반환형이 void로 되어있다.
마찬가지로 주로 출력하는 역할만 한다.
input O & output O 형식
매개변수 input도 존재하고, 반환값 return도 존재하는 형식이다.
매개변수가 있는 함수들은 호출할 때, 매개변수의 값을 꼭 넣어주어야 한다. 그러면 그 값을 토대로 반환값을 내보낸다.
이러한 함수는 반복되는 연산이 있을 때 주로 사용하게 되는 것 같다.
input X & output O 형식
매개변수는 없지만, 반환값은 있는 형식이다.
그냥 호출만 해주면, 정해둔 반환값을 반환해주는 단순한 방식이다.
마지막으로 우리는 main()이 코드의 시작점이라는 것을 배웠었다. 그런데 오늘 함수를 배우고 보면 int main()이 바로
함수라는 것을 알 수 있다. 그런데 매개변수가 없지만, int가 반환형이라는 것을 알 수 있다.
그래서 우리는 프로그램을 종료할 때 main()함수 안에서 return 0;을 입력하면 왜 프로그램이 종료되는 것인지
이제 알게 되었다.
'C++' 카테고리의 다른 글
C++ 배우기 11(메모리 구조) (0) | 2022.10.26 |
---|---|
C++ 배우기 10(2차원배열) (0) | 2022.10.25 |
C++ 배우기 8(ASCII코드, 문자열, 구조체) (0) | 2022.10.20 |
C++ 배우기 8(enum, Switch) (0) | 2022.10.19 |
C++ 배우기 7(지시자break / continue, 형변환) (2) | 2022.10.18 |