본문 바로가기
iOS/Swift

[iOS/Swift] 함수(Function) 선언하고, 구성하고, 호출하기

by iosdevlime 2022. 11. 16.

특정 작업을 수행하기 위해, 호출할 수 있도록 이름 붙여진 일종의 코드 블록

함수에 대해 간략하게 지난 포스팅에서 다루어 보았습니다.

 

앞으로, 코드와 예제를 통해 

  • 무슨 형태의 키워드를 활용하여 선언하는지,
  • 어떤 요소들로 구성되어 있는지,
  • 어떻게 함수의 기능을 불러와 사용할 수 있는지

 

찬찬히 살펴보도록 하겠습니다.

 

 

 


 

 

 

 

함수의 선언과 호출

함수를 선언하기 위한 요소를 구성하고, 이를 활용하기 위해 호출한다!

 

지난 포스팅 마지막 파트에서 잠깐 살펴본

print() 란 우리에게 매우 익숙한 출력함수가 있었는데요..

 

출력함수가 만들어진 내용을 살펴보면 아래 코드와 같습니다.

func print(_ items: Any..., separator: String = " ", terminator: String = "\n")

print()다양한 코드 요소들로 구성되어 있는 블럭, 즉 'print'란 이름을 지닌 고유 함수이며

개발자들이 자주 사용할 수 있도록 미리 선언(혹은 정의)된 함수로 볼 수 있습니다.

 

 

이와 마찬가지로,

var someInt : Int = 3

print("\(someInt)") // 3

위 예시코드와 같이, 변수 someInt에 할당된 값을 Console에 출력하기 위하여

이미 익숙하게 print() 함수를 호출(활용)하여 사용하고 있었습니다 !

 

 

 

 

선언방법

  • 함수를 컴파일러에 알려주고, 저장하기 위해, func 키워드를 사용하여 선언합니다!
    • 기본적으로 선언하는 형태는 다음과 같습니다.

함수 선언방법

 

 

 

구성요소

  • 매우 복잡해 보이지만, 하나씩 살펴보면 [자판기] 와 매우 유사한 기능을 담당한다는 것을 알 수 있습니다.
    • 각각의 구성 요소들의 역할과 기능은 다음과 같습니다.
    • 전달인자의 경우, 다음 '매개변수' 관련 포스팅에서 다루도록 하겠습니다.

함수 구성요소

 

  • 예시코드를 통해 구성요소에 대해 간단하게 살펴보겠습니다.
    • 커피를 주문한 고객에게, 고객의 이름과 주문한 커피의 개수를 알려주는 함수의 선언
1단계. 함수 키워드(func)를 작성하고, 함수의 이름 을 정한다.

2단계. 이름과 개수를 알려줄 수 있는 매개변수(혹은 전달인자)를 설정하고, 타입 을 지정한다.

3단계. 알려주는 메세지의 데이터 타입인 String을 반환타입으로 설정한다.
(반환타입은 생략할 수 있으며, 존재할 경우엔 코드 내부에  Return 키워드를 작성한다) 📌

4단계. 앞서 선언한 매개변수를 활용, 문자열 보간을 활용한 내부 코드 를 작성한다.

 

func callMessage (customerName name: String, orderCount count: Int) -> String {
    📌return "\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
}

 

 

 

 

호출방법

  • 선언한 함수를 사용하고 값을 호출하기 위해, 아래와 같은 형태의 코드로 작성합니다.

함수 호출방법

 

  • 앞서 활용한 예시(고객 이름과 커피의 개수)에서 선언한 함수를 호출해보자면,
// callMessage 함수선언
func callMessage (customerName name: String, orderCount count: Int) -> String {
    return "\(name)님, 주문하신 아메리카노 \(count)잔 나왔습니다"
}


// 함수 호출1 (print 함수를 곁들인)
print(callMessage(customerName: "Lime", orderCount: 2))
// "Lime님, 주문하신 아메리카노 2잔 나왔습니다"


// 함수 호출2 (임의의 상수에 함수를 선언한 후, 해당 상수를 Print 함수로 호출)
let callMessageResult = callMessage(customerName: "Lime", orderCount: 2)
print(callMessageResult)
// "Lime님, 주문하신 아메리카노 2잔 나왔습니다"

 


 

여기까지가 함수의 선언, 구성하는 요소와 호출방법입니다.

 

이후 포스팅에서는

구성요소 중, '전달인자''매개변수'에 대해 다뤄보도록 하겠습니다.

 

 

댓글