함수를 선언(정의)하고, 호출하는 방식은 이제 얼추 이해가 되지만..
구성요소 중,
'매개변수'에 대해 단번에 이해하긴 다소 부족한 포스팅 내용이었습니다.
[iOS/Swift] 함수(Function) 선언하고, 구성하고, 호출하기
특정 작업을 수행하기 위해, 호출할 수 있도록 이름 붙여진 일종의 코드 블록 함수에 대해 간략하게 지난 포스팅에서 다루어 보았습니다. 앞으로, 코드와 예제를 통해 무슨 형태의 키워드를 활
iosdevlime.tistory.com
그래서, 요번 포스팅에서는
함수기능의 한 축을 담당하는 매개변수에 대해 자세하게 알아보도록 하겠습니다.
매개변수(Parameters)의 정의
함수 내부, 혹은 외부에서 연산이나 기타 처리를 위해 활용되는 기능
가물가물한 매개변수를 다시 복기하기 위해
이전 포스팅에서 다룬 예시코드를 끌어오자면 ?
// callMessage 함수선언
func callMessage (customerName name: String, orderCount count: Int) -> String {
"\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
}

여기서 살펴보면,
매개변수 앞에 전달인자가 함께 사용되고 있는 것을 확인할 수 있습니다.
매개변수, 그리고 전달인자는 각각 어떤 역할을 담당하고 있을까요?
매개변수와 전달인자
- 매개변수는 2가지로 구성되며, 다음과 같은 역할을 담당합니다.
- 매개변수 이름(Parameters Name)
- 함수 내부 코드에서 특정 기능을 만들기 위해 활용하는 상수(?)입니다.
- 매개변수 이름(Parameters Name)
func callMessage (customerName name: String, orderCount count: Int) -> String {
"\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
// name, count
// 매개변수 이름으로, 함수 내부에서 기능을 설정할 때 활용
}
-
- 전달인자(Argument Label)
- 함수를 외부에서 호출할 시, 사용자가 데이터를 입력할 수 있도록 도와주는 Label 입니다.
- 내부에선 name, count를 하나의 상수로 활용했으나, 호출할 시 뒤에 있는 전달인자를 사용합니다.
- 전달인자(Argument Label)
func callMessage (customerName name: String, orderCount count: Int) -> String {
"\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
}
let result = callMessage(customerName : "Lime", orderCount : 2)
// customerName, orderCount
// 함수 외부에서 사용되는 '전달'인자로, 뒤에 사용자가 직접 데이터를 입력
print(result) // "Lime님, 주문하신 아메리카노 2잔 나왔습니다"
- 하지만, 보통 매개변수 이름이 전달인자의 역할을 함께 담당합니다 !
- 다시 말해, 전달인자가 생략되어도 큰 문제가 없습니다.
- 굳이 필요할 경우, 언더바(_) 문자 를 써서 Default값을 할당할 수 있습니다.
전달인자가 없는 함수호출
func callMessage (name: String, count: Int) -> String {
"\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
}
let result = callMessage(name: "Lime", count: 2)
// name은 매개변수 이름이자, 전달인자의 역할을 모두 포함
매개변수의 2가지 종류에 대해 살펴보고,
각각의 기능과 역할에 대해 알아보았습니다.
하지만, 아직 못다한 매개변수에 대한 내용이 남겨져 있으니
다음 포스팅에서 조금 더 Deep하게 다뤄보도록 하겠습니다.
'iOS > Swift' 카테고리의 다른 글
[iOS/Swift] 함수를 부르는 방식, 함수 표기법(Function Notation) (0) | 2023.01.09 |
---|---|
[iOS/Swift] 매개변수는 사실 상수였다?! (함수를 호출하는 2가지 방법) (0) | 2022.11.17 |
[iOS/Swift] 함수(Function) 선언하고, 구성하고, 호출하기 (0) | 2022.11.16 |
[iOS/Swift] Function, 함수 찍먹하기 (2) | 2022.11.11 |
[iOS/Swift] 알아두면 유용한, 열거형(Enumeration) ② (0) | 2022.11.07 |
댓글