함수에 대한 이해 - TIL42
함수 고급
매개변수 기본값은 함수의 매개변수에 값이 들어오지 않아도 자동적으로 매개변수를 갖게되는 것이고, 매개변수 기본값을 설정하려면 타입에 기본값을 할당해두면 된다.
이것은 매개변수 목록중 가장 뒤편에 올라오는것이 좋은데 C++의 기본생성자와 같은 구조를 갖춘것 같다고 생각한다.
전달인자 레이블
함수 호출할때, 매개변수 역할을 명확하거나 함수 사용자 입장에서 표현하고자 할 때 사용한다.
func greeting(to friend: String, from me: String)
위와 같이, 중복정의를 사용할때 사용되는데, 실제로 함수의 이름이 greeting(to, from)까지 함수의 이름까지 포함하기 때문에 기존의 함수와 다른이름으로 취급한다.
(개인적으로 C++에서 함수 오버로딩이 기존의 함수가 아닌 다른 함수로 취급되는 것과 유사하다고 생각한다.).
함수외부에서 전달인자 의미와 내부에서 전달인자 의미가 상이하거나, 사용자입장에서 전달인자 역할을 표현하고 싶담녀 전달인자 레이블을 사용하는것이 좋다.
함수외부에서는 전달인자 레이블을 사용해야하고 함수내부에서는 매개변수를 사용해야한다.(기억해야 할 부분!)
댓글
