Menu
Coddy logo textTech

전달인자 레이블

Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 54번째.

Swift는 인자 레이블(argument labels)을 사용하여 함수 호출이 어떻게 읽히는지 제어할 수 있게 해줍니다. 인자 레이블은 함수를 호출할 때 사용하는 것이며, 매개변수 이름(parameter name)은 함수 내부에서 사용하는 이름입니다.

매개변수 이름 앞에 인자 레이블을 작성하여 두 가지를 모두 지정할 수 있습니다:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // 출력: Hello, Alice!

여기서 to는 인자 레이블(호출할 때 사용)이고, name은 매개변수 이름(함수 내부에서 사용)입니다. 이렇게 하면 호출 시 "greet to Alice"와 같이 더 자연스럽게 읽힙니다.

때로는 더 깔끔한 호출을 위해 레이블을 완전히 생략하고 싶을 때가 있습니다. 인자 레이블로 언더스코어(_)를 사용하세요:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // 출력: 25

언더스코어(_)가 없다면 square(number: 5)라고 작성해야 합니다. 언더스코어는 이러한 요구 사항을 제거하여, 함수 이름이 이미 목적을 명확하게 전달할 때 호출을 더 간단하게 만들어 줍니다.

challenge icon

챌린지

쉬움

서로 다른 인자 레이블(argument label) 기술을 보여주는 두 개의 함수를 작성하세요:

함수 1: send

  • 인자 레이블 message와 파라미터 이름 text (타입 String)를 사용합니다.
  • 인자 레이블 to와 파라미터 이름 recipient (타입 String)를 사용합니다.
  • 다음 형식의 문자열을 반환합니다: "Sending '[text]' to [recipient]"

함수 2: double

  • 언더스코어 _를 사용하여 인자 레이블을 생략합니다.
  • 파라미터 이름은 number (타입 Int)입니다.
  • 숫자에 2를 곱한 값을 반환합니다.

두 함수를 정의한 후, 입력으로부터 두 개의 문자열과 하나의 정수를 읽어 들인 다음, 두 함수를 모두 호출하고 결과를 각각 별도의 줄에 출력하세요.

다음과 같은 입력을 받게 됩니다:

  • 첫 번째 줄: 메시지 텍스트 (예: "Hello")
  • 두 번째 줄: 수신자 이름 (예: "Alice")
  • 세 번째 줄: 2배로 만들 숫자 (예: "7")

예를 들어, 입력이 "Hello", "Alice", "7"인 경우 출력은 다음과 같아야 합니다:

Sending 'Hello' to Alice
14

치트 시트

Swift는 전달인자 레이블(argument labels)을 사용하여 함수 호출이 읽히는 방식을 제어할 수 있게 해줍니다. 전달인자 레이블은 함수를 호출할 때 사용되며, 매개변수 이름(parameter name)은 함수 내부에서 사용됩니다.

매개변수 이름 앞에 전달인자 레이블을 작성하여 두 가지를 모두 지정합니다:

func greet(to name: String) {
    print("Hello, \(name)!")
}

greet(to: "Alice")  // 출력: Hello, Alice!

여기서 to는 전달인자 레이블이고 name은 매개변수 이름입니다.

더 깔끔한 호출을 위해 전달인자 레이블을 생략하려면 언더스코어(_)를 사용하세요:

func square(_ number: Int) -> Int {
    return number * number
}

print(square(5))  // 출력: 25

언더스코어가 없다면 square(number: 5)라고 작성해야 합니다.

직접 해보기

// 입력 읽기
let messageText = readLine()!
let recipientName = readLine()!
let numberToDouble = Int(readLine()!)!

// TODO: 아래에 코드를 작성하세요
// 'message'와 'to'라는 인자 레이블을 사용하여 'send' 함수를 정의하세요


// '_'를 사용하여 인자 레이블을 생략한 'double' 함수를 정의하세요


// 두 함수를 모두 호출하고 결과를 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨