으니의 개발로그

[Swift] 함수(1) - 함수의 정의와 호출 본문

Swift/책 정리

[Swift] 함수(1) - 함수의 정의와 호출

아잉으니야 2021. 1. 26. 21:36

[Swift] 함수(1) - 함수의 정의와 호출

이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다.

 

메서드 : 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수

함수 : 모듈 전체에서 전역적으로 사용할 수 있는 함수

 

  • 소괄호 () 를 생략할 수 없다.

  • 재정의(오버라이드)와 중복 정의(오버로드)를 모두 지원한다. 따라서 매개변수의 타입이 다르면 같은 이름의 함수를 여러 개 만들 수 있고, 매개변수의 개수가 달라도 같은 이름의 함수를 만들 수 있다.

 

func 함수 이름(매개변수...) -> 반환 타입 {
  실행 구문
  return 반환 값
}

 

func hello(name: String) -> String {
    return "Hello \(name)!"
}

let helloJenny: String = hello(name: "Seonho")
print(helloJenny)
/* Hello Seonho! */

func introduce(name: String) -> String {
    // [return "제 이름은 " + name + " 입니다."] 와 같은 동작을 한다.
    "제 이름은 " + name + " 입니다."
}

let introduceJenny: String = introduce(name: "Seonho")
print(introduceJenny)
/* 제 이름은 Seonho 입니다. */

 

  • 함수 내부의 코드가 단 한 줄의 표현이고, 그 표현의 결과값의 타입이 함수의 반환 타입과 일치한다면 return 을 생략할 수 있다.

 

매개변수와 전달인자

매개변수 : 함수를 정의할 때 외부로부터 받아들이는 전달 값의 이름

ex) 위의 코드에서 hello(name:) 함수의 매개변수는 name

전달인자(혹은 인자) : 함수를 실제로 호출할 때 전달하는 값을 의미

ex) 위의 코드에서 실제 사용 시 전달받는 값인 "seonho"