1. 함수란

Swift 공식 문서에 따르면 아래와 같이 설명하고 있다. functions(함수)는 특정 작업을 수행하는 코드 덩어리입니다. 함수가 수행하는 작업을 식별하는 이름을 지정. 해당 작업을 수행할 때 함수 이름을 호출하여 사용합니다.

2. 함수의 구성요소

함수에서 가장 중요한 것은 “함수를 선언” 하는 것과 그것을 “호출”하는 것이다. 그러기 위해서 함수의 구성요소에 대해서 알아보자!

Untitled

  1. func 함수명: 함수가 수행하는 작업을 설명하는 함수명과 func 키워드를 사용하여 함수
  2. 전달인자 (Arguments Label): 함수를 실제로 호출할때 전달하는 값
  3. 매개변수 (parameter): 함수를 정의할 때 외부로부터 받아들이는 전달 값의 이름을 의미
  4. → Return Type: 화살표를 통해서 함수의 결과값의 타입을 알려준다!
  5. code: 해당 함수가 호출될때 기능을 담당하는 코드
func sayHello(from me: String, to you: String) -> String {
		print("안녕 \\(you)야? 나는 \\(me)라고 해~")
		return "hello"
}

let hello = sayHello(from: "류희재", to: "장석우") // 안녕 장석우야? 나는 류희재라고 해~
print(hello) // hello

2-1. 매개변수 vs 전달인자

굉장히 혼동될 수 있는 문제이기 때문에 따로 정리를 하려고 한다.결론부터 말하자면 매개변수와 전달인자는 함수에 전달하거나 함수 내부에서 전달받는 "값"을 의미하지만 위치에 따라서 다르게 부르는 것

2-1-1. 이름에서의 혼동점 정리하자

이름을 혼동하기 쉬운데 아래와 같이 생각하면 된다!

파라미터 == 인자 == 매개변수

아규먼트 == 인수 == 전달인자

2-1-2. 매개변수는 함수의 정의에서, 전달인자는 함수의 호출해서 사용되는 것이다!

매개변수는 어떤 이름으로 함수 내부에서 사용할 것인지를 명시하기 위한 것이며 전달인자는 어떤 이름으로 함수에 값을 보내줄 것인지 정해주고 함수 정의부에 매개변수와 함께 사용하는 것이고, 생략이 가능합니다. 전달인자 레이블을 생략할 때는 **와일드 카드 패턴(_)**을 활용할 수 있습니다!