Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- enum
- 독학
- 패스트캠퍼스후기
- Threading
- beginAsyncWrite
- 직장인인강
- Git
- 문자열 보간법
- swift
- RawValue
- Realm
- 함수
- 패스트캠퍼스
- ios
- Background
- 옵셔널 체이닝
- 패캠챌린지
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- userDefaults
- 열거형
- Optional Chaining
- TableView
- 기본문법
- 직장인자기계발
- SeSAC
- switch
- xcode
- 프로퍼티 관찰자
- cancelAsyncWrite
- 인스펙터
Archives
- Today
- Total
아삭아삭 iOS 개발
[Swift 독학] 패스트캠퍼스 챌린지 10일차_함수(Functions) 정의와 특징 본문
swift에서의 함수 정의, 선언, 특징에 대해 정리한 내용입니다.
본 게시물은 개인 공부 기록용이므로 내용에 오류가 있을 수 있습니다.
■ 함수(Functions)의 정의
- 특정 작업을 수행하는 코드 모음 형태
- 메서드에게 일할 것을 주면 함수의 고유한 역할들을 수행함
- 함수는 작업의 가장 작은 단위이자 코드의 집합
※ 메서드
: 특정 타입(구조체, 클래스, 열거형 등)과 관련하여 사용하는 함수
■ 함수(Functions)의 선언
func 함수명(파라미터 이름: 데이터 타입) -> 반환 타입 {
return 반환 값
}
함수명(파라미터 이름: 파라미터 값)
- 인자값(받아들이는 값, 파라미터, 매개변수, input)과 반환값(뱉어내는 값, output) 존재
※ 경우에 따라 인자값이 없을 수도, 리턴값이 없을 수도, 둘 다 없을 수도 있음
- 함수 내부 코드가 단 한줄이고 결과값 타입이 반환타입과 일치할 경우, ‘return’키워드 생략 가능
- 함수를 사용하려면 함수이름을 ‘호출’하고 함수의 파라미터와 일치하는 인자라고 알려진 입력 값을 전달해야 함
※ 단, 함수의 인자는 항상 함수의 파라미터 순서와 동일하게 제공해야 함
※ 파라미터는 함수 호출을 단순화 하기위해 기본값 제공 가능
※ 함수가 실행을 완료하면 전달된 변수를 수정하는 in-out 파라미터로 전달 가능
■ 함수(Functions)의 특징
- 한 번에 한 개의 기능을 수행하는 함수를 작성하는 것이 가장 적합
- swift에서 함수는 일급객체(first-class object)이므로 하나의 데이터 타입으로 사용 가능
- 함수를 파라미터로 다른 함수에 전달하고, 함수에서 함수를 반환하기가 쉬움
- 함수는 중첩된 함수 범위내에서 유용한 기능을 캡슐화하기 위해 다른 함수 내에 작성될 수 있음 - swift에서는 오버라이드(재정의)와 오버라이딩(중복정의) 모두 지원
- swift의 함수 구분은 유연함
: 파라미터 이름이 없는 단순한 C스타일 함수 ~ 각 파라미터에 대한 이름과 인자가 있는 복잡한 Objective-C 스타일 메서드
■ fast campus강의 외 참조자료
[1] https://alohalimi.tistory.com/entry/SWIFT-함수
[2] https://bbiguduk.gitbook.io/swift/language-guide-1/functions
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Swift' 카테고리의 다른 글
[Swift 독학] 패스트캠퍼스 챌린지 12일차_함수(Functions)는 일급객체 (0) | 2022.02.04 |
---|---|
[Swift 독학] 패스트캠퍼스 챌린지 11일차_함수(Functions) 선언 (0) | 2022.02.03 |
[Swift 독학] 패스트캠퍼스 챌린지 9일차_컬렉션 타입 (0) | 2022.02.01 |
[Swift 독학] 패스트캠퍼스 챌린지 8일차_데이터 타입 (0) | 2022.01.31 |
[Swift 독학] 패스트캠퍼스 챌린지 7일차_상수와 변수 (0) | 2022.01.30 |