Swift 함수 내 매개변수의 기본 이해
Swift에서는 매개변수의 타입을 명시적으로 선언해야 합니다. 이를 통해 함수의 입력 데이터 타입을 관리할 수 있습니다.
func greet(name: String){
print("hello, \(name)!")
}
greet(name: "Jin")
In-out 매개변수
만약 함수 내에서 외수 변수의 값 변경이 필요한 경우, inout 키워드를 사용해야 합니다.
func doubleValue(value: inout Int){
value *= 2
}
var number = 10
doubleValue(value: &number) //inout 매개변수임을 나타내기 위해 변수 앞에 &를 달아서 알려줌
print(number) //20
기본값 매개변수 (Default parameters)
매개변수의 기본값을 제공하면 함수 호출 시 선택적으로 값을 넘길 수 있습니다.
func greet(name: String = "Guest"){
print("hello, \(name)!")
}
greet() // hello, Guest!
greet(name: "Jin") // hello, Jin!
가변 매개변수 (Variadic Parameters)
하나의 매개변수에 여러 값을 전달할 때 ... 을 사용합니다.
func sum(numbers: Int...) -> Int {
return numbers.reduce(0, +)
}
print(sum(numbers: 1, 2, 3, 4)) // 10
레이블 매개변수 (Parameters Labels)
함수 호출 시 매개변수 레이블을 제공해 가독성을 높일 수 있습니다. 또한, _를 사용하면 외부 레이블을 생략할 수 있습니다.
func greet(to name: String){
print("hello, \(name)!")
}
greet(to: "Jin")
func add(_ a: Int, _ b: Int) -> Int{
return a+b
}
print(add(5, 10)) // 15
클로저 매개변수
클로저는 함수 내에서 실행 가능한 코드 블록을 매개변수로 전달할 수 있습니다.
기본적인 클로저 매개변수 사용
func performOperation(a: Int, b: Int, operation: (Int, Int) -> Int) -> Int{
return operation(a, b)
}
let result = performOperation(a: 5, b: 3, operation: {$0 + $1})
print(result) // 8
트레일링 클로저 (Trailing Closure)
마지막 매개변수가 클로저일 경우, 더 간결히 작성할 수 있습니다.
let sorted = [3, 1, 2].sorted{$0 < $1}
print(sorted) // [1, 2, 3]
Conclusion
- Swift의 매개변수는 코드의 가독성과 함수의 유연성을 좌우하는 중요한 요소입니다.
- 함수 설계 시 명확성과 재사용성을 항상 염두에 두어야 합니다.
- 기본값, 가변 매개변수, 클로저 등을 적절히 활용하면 코드를 더 간결하고 효율적으로 작성할 수 있습니다.
'App Development > Swift' 카테고리의 다른 글
Swift의 에러 처리 (Error handling) (0) | 2024.12.06 |
---|---|
Swift에서 동기와 비동기의 차이 (0) | 2024.11.30 |
Swift에서의 completion (0) | 2024.11.26 |
Swift의 Closure 란? (0) | 2024.11.25 |
Swift의 ARC (Automatic Reference Counting) (0) | 2024.11.24 |