Default Parameter
디폴트 매개변수란?
초깃값을 갖는 매개변수라고 생각하시면 됩니다.
C와 C++에서 함수의 차이라고 한다면 가장 먼저 배우는 것이 디폴트 매개변수가 아닐까 생각합니다..
c언어에서 해당 인수에 3을 더해주는 함수를 만든다고 생각해봅시다.
a의 주솟값을 전해주던.. a의 값을 전해주고 결과값을 반환받던.. 어느 경우던지요.
생각해보니 4를 더해야 할때도 있고 ,5를 더해야 할때도 있고.. 그래서 더하는 값을 정하기 위해선 C언어에서는 더하는 값을 또 변수로 선언해야합니다.
위처럼.. 사용자는 얼마를 더해줄지 인수로 b의 값까지 전해줘야 하는 상황이 됬네요.
저 함수를 사용할때 불편한 상황을 가정해봅시다.
프로그램을 짤때 3을 더하는 형식으로 함수를 100번 호출하고.. 실제로 5를 더하는 형식은 5번에 불과하다면???
굉장히 스트레스받는 상황일겁니다.
그래서 C++에선 디폴트 매개변수를 제공합니다. 이런식으로 짜는게 가능한거죠!
기본적으로 3을 더하는 함수이지만! 필요할 때는 5라는 값을 전해줘서 5를 더하는 함수로 사용할 수 있습니다.
함수의 사용자가 실수로 인수를 못넣었다던가.. 하는 상황에서도 굉장히 좋게 쓰이는 문법입니다.
물론 초깃값을 정해놔서 인수를 안적었을 때 생기는 모호성에 대해서 주의가 필요하긴 합니다.