이전 포스팅의 주제인
함수 표기법에서 이어집니다..! 😜
함수 표기법(Function Notation)
함수도 자료형(타입)이 있다!?
함수는 복합 타입(Compound Type)으로서 데이터 내 저장, 활용된다
Swift 문법 관련 포스팅 내용 중,
Type(자료형)에 대해 다룬 적이 있었는데 말입니다..
Type (X) Types (O)
해당 게시물에서 가장 중요한 키워드는 바로
'타입(Type)은 데이터의 메모리 저장과 처리방식을 알리는 역할을 담당한다' 라는 내용입니다.
즉, 함수 또한 타입(Type)이라는 큰 범주 내에서
개발자가 임의로 생성하는 복합 타입(Compound Type)이라고 정리할 수 있습니다.
그렇다면, 함수의 타입은 어떻게 선언하고 활용할 수 있을까요?
함수 타입은 어떻게 표기하나요?
- 함수의 타입은 다음과 같이 구성되어 표현됩니다.
- 함수를 직접 만들거나, 함수를 표기하는 방식과는 달리,
- 반드시 Return Type 을 작성해야 합니다!
매개변수가 1개 이상 존재하는 함수타입
- 매개변수가 1개 이상 존재할 경우, 아래와 같은 함수타입을 가집니다.
- 함수의 타입을 확인하기 위해, 함수 표기법 을 통해 선언합니다.
- 함수의 타입은 해당 매개변수의 자료형 타입(Data Type)만을 작성합니다.
- 전달인자(Argument Lable), 파라미터(Parameter Name)의 유무는 고려하지 않습니다.
- 단지, '어떠한 자료형 타입을 매개변수로 가지고 있는가?' 에 대한 응답만 필요합니다.
// 1. 매개변수가 1개 존재하는 함수의 타입
func myNickname(_ name: String) { }
myNickname(_:) // 함수의 타입은? : (String) -> ()
// 2. 매개변수가 2개 이상 존재하는 함수의 타입
func myTeamMate(_ name: String, _ age: Int, class: Character) {}
myTeamMate(_: _: class:) // 함수의 타입은? : (String, Int, Character) -> ()
매개변수와 리턴타입이 존재하는 함수 타입
- 매개변수 이외, '리턴(Return) 타입'이 존재하는 함수는 아래와 같은 타입을 가집니다.
- 리턴타입 또한, 해당 자료형 타입(Data Type)을 작성합니다.
// 매개변수와 리턴타입이 모두 존재할 경우
func calculator(number: Int, _ count: Int) -> Int {
return number * count
}
calculator(number: _:) // 함수의 타입은? : (Int, Int) -> Int
매개변수, 리턴타입이 모두 존재하지 않는 함수 타입
- 매개변수, 리턴타입 모두 존재하지 않는 함수는 빈 괄호()로 타입을 표기합니다.
func helloWorld () {}
helloWorld // 함수의 타입은? : () -> ()
함수관련 포스팅의 끝이 보이기 시작하네요..! 👀
다음 포스팅에서는
Swift 언어에서의 함수의 위계인
1급 객체함수로서의 개념과 특징을 살펴보겠습니다.
'iOS > Swift' 카테고리의 다른 글
[iOS/Swift] 익명 혹은 람다함수는 모두 클로저(Closure)일까? (0) | 2023.01.25 |
---|---|
[iOS/Swift] 1등 시민, 1급 객체함수 (First Class Citizen) (0) | 2023.01.18 |
[iOS/Swift] 함수를 부르는 방식, 함수 표기법(Function Notation) (0) | 2023.01.09 |
[iOS/Swift] 매개변수는 사실 상수였다?! (함수를 호출하는 2가지 방법) (0) | 2022.11.17 |
[iOS/Swift] 매개변수(parameter)와 전달인자(argument) (0) | 2022.11.17 |
댓글