본문 바로가기

Dev/iOS & SWIFT

[Swift] 함수 function | 전달인자 레이블 | 가변 매개변수 | 함수형 프로그래밍 패러다임 | 일급객체 함수

728x90

Swift에서 함수의 기본적인 형태

  • 반환값이 없을 때는 반환타입을 적는 곳에 Void라고 적어주면 됨
  • 매개변수가 없으면 소괄호 () 안을 비워주면 됨
  • 함수 구현부가 간단할 경우에는 중괄호 안에서 줄띄움을 할 필요가 없음
import Swift

func 함수이름(매개변수이름: 매개변수타입) -> 반환타입 {
	
    함수 구현부
    
	return  반환값
}

// example
func sum(a: Int, b: Int) -> Int {
	return a + b
}

sum(a: 3, b: 5)

 

함수의 다양한 형태

  1. 매개변수에는 기본값을 넣어줄 수 있음
  2. 전달인자 레이블을 사용할 수도 있음 → 이를 통해서 같은 이름의 함수가 있더라도 구분할 수 있음
    • 함수 외부에서 함수를 호출할 때는 전달인자 레이블을 꼭 붙여줘야 함
    • 함수 내부 및 구현부에서는 매개변수 값으로써 사용해야 함 
  3. 전달 받을 값을 알기 어려울 때에는 가변 매개변수를 사용할 수 있음 (...)
    • 단 가변 매개변수는 함수당 하나만 사용할 수 있음
    • 가변 매개변수에 아무것도 넘기고 싶지 않다면, 레이블을 아예 생략하면 됨
  4. 스위프트는 함수형 프로그래밍 패러다임을 포함하는 다중 패러다임 언어
    • 스위프트의 함수는 일급 객체
    • 그에 따라, 변수, 상수 등에 함수를 저장할 수 있음
    • 매개변수를 통해서 전달할 수도 있음
import Swift

// 1. 매개변수 기본값
func 함수이름(매개변수이름: 매개변수타입 = 매개변수 기본값) -> 반환타입 {
	함수 구현부
    return 반환값
}

// 2. 전달인자 레이블
fund 함수이름(레이블 매개변수이름: 매개변수타입) -> 반환타입 {
	함수 구현부
    return 반환값
}

// 3. 가변 매개변수
func 함수이름 (매개변수이름: 매개변수타입...) -> 반환타입 {
	함수 구현부
    return 반환값
}

// 4. 데이터 타입으로서의 함수 (일급객체)
var 변수명: (매개변수 타입) -> 반환타입 = 함수명(레이블)

 

본 내용은 부스트코스의 'iOS 프로그래밍을 위한 스위프트 기초' 강의를 토대로 작성되었습니다

728x90