티스토리 뷰
안녕하세요. 도미닉입니다.
오랜만에 기술 글을 작성하네요.
Argument Label (아규먼트 레이블)에 대해서 정리하고자 합니다.
Argument Label
보통 함수를 작성할 때 아래와 같이 작성하게 됩니다.
간단한 a 와 b 라는 Int 형 파라미터를 전달받아서 Int 형 타입을 리턴하는 sum 함수입니다.
파라미터란?
참고로 a, b 는 파라미터라고 설명을 드렸습니다. 정해진 타입과 이름을 지정하여 함수를 실행할 때 값을 전달 받기 위해 함수명 옆에 괄호 안에 지정하는 것이 파라미터입니다.
파라미터는 매개변수, 인자라는 이름으로도 불리웁니다!
인수란?
sum(a: 3, b: 4) 라고 호출되는 부분에서 실제로 사용되는 3과 4는 인수라고 불리웁니다.
파라미터와 헷갈릴 수 있는데 구분해서 알고 있으면 좋겠습니다.
인수는 아규먼트(Argument) 라고도 불리웁니다.
Argument Label 이란?
아래 함수에서 Argument Label 을 선언해보았습니다.
기존 함수에서 a 와 b 의 앞에 firstNumber 와 secondNumber 가 들어갔는데요.
이 것을 Argument Label 이라고 합니다.
함수의 밖에서 알아보기 쉬운 이름을 선언하여 실제 호출하는 7번째 줄에서는 이전 함수처럼 a, b로 값을 전달하지 않고 firstName 과 secondNumber 로 전달하게 됩니다.
이전처럼 아규먼트 레이블을 선언하지 않으면 파라미터의 이름과 아규먼트 레이블의 이름이 같다고 생각하면 됩니다.
아래처럼 Argument Label을 생략하여 사용할 수도 있습니다.
함수의 이름이 정확하여 파라미터의 이름이 별도로 적는 것이 불편할 때 아규먼트 레이블에 와일드 카드 패턴을 사용하였습니다.
sum 이라는 함수의 이름에서 두 개의 값을 합쳐준다는 것이 명확하기 때문에 인수로 3 과 4를 넣어주기만 하여도 괜찮습니다.
Argument Label 를 사용하면 장점은?
아규먼트 레이블을 사용하면 함수의 밖에서 좀 더 명확한 이름으로 파라미터로 어떤 값을 넘겨야 할지 알 수 있습니다.
모듈화를 하며 함수를 여러 곳에서 사용할 때 사용하는 사람이 어떤 값을 넘겨야 할지 유추하기 편할 것이라고 생각합니다.
아규먼트 레이블로 복잡한 이름을 사용하더라도 함수 내부에서는 조금 더 간단한 파라미터명으로 사용할 수 있는 점도 좋습니다.
복잡한 이름의 파라미터명으로 선언된 파라미터가 함수 내부에서 여러 번 반복적으로 사용될 때 아규먼트 레이블을 사용하면 간단한 이름의 파라미터명으로 호출할 수 있습니다.
함수의 이름이 명확할 경우 파라미터명이 굳이 필요하지 않을 경우가 있었습니다.
그럴 때 _ 를 파라미터명 앞에 붙이는 와일드 카드 패턴을 자주 사용했었는데요.
이 _ 를 붙이는 것도 아규먼트 레이블을 사용하는 것이었네요.
정리
저는 실무에서는 아규먼트 레이블을 자주 사용하지 않았습니다.
하지만 이전에 스위프트를 공부하며 함수 파트에서 보고 넘어갔던 기억이 납니다.
이번에 조금 더 명확하게 아규먼트 레이블에 대해서 정리할 수 있었습니다.
아규먼트 레이블이라는 이름에도 익숙해질 수 있었습니다.
'IT > Swift' 카테고리의 다른 글
[Swift] 어트리뷰트 키워드(Attribute keyword) (0) | 2025.03.14 |
---|---|
SwiftUI 에 NSInternalInconsistencyException 오류 해결 방법 - Attempted to scroll the collection view to an out-of-bounds item (0) when there are only 0 items in section 0. (0) | 2023.05.18 |
Swift 에서 구조체 모델을 UserDefaults (내부 DB)에 저장하는 방법 (0) | 2023.03.20 |
SwiftUI 에서 삼각형을 그리는 방법(역삼각형, 말풍선 포함) (0) | 2022.11.03 |
스위프트 이니셜라이저(초기화) (0) | 2021.06.17 |
- Total
- Today
- Yesterday
- 테라스캔
- 영어
- 형용사
- IOS
- 뇌를 자극하는 C프로그래밍
- database
- Apple
- 리눅스
- 단어
- C
- MySQL
- 함수
- 연습문제
- 데이터베이스
- 반복문
- 배열
- 뇌를 자극하는 C 프로그래밍
- 시원스쿨
- 프로그래밍
- 프로그램
- exercise
- 왕초보 영단어1
- 애플
- Swift
- terascan
- 매트랩
- Xcode
- 스위프트
- Matlab
- 포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |