-
아우 헷갈려 매개변수(parameter), 전달인자(argument)카테고리 없음 2024. 6. 13. 17:11
매개변수(parameters)와 전달인자(arguments)
매개변수와 전달인자는 함수에 전달하거나 함수 내부에서 전달받는 "값"을 의미하지만
매개변수는 함수 정의 시 사용되고, 전달인자는 함수 호출 시 사용됩니다.
매개변수는
함수 내부에서 매개변수는 그 함수나 메서드 내에서만 유효한 지역 변수(local variable)의 역할을 합니다.
함수 정의 시 지정되며, 함수의 입력 값에 해당합니다.
전달인자는
함수를 호출할 때 함수의 매개변수에 실제로 전달되는 값을 의미합니다.
예시를 살펴봅시다!
//함수의 정의 func greeting (to: Sting, from: String) { print("\(to)야 안녕 내이름은 \(from)야") } //여기서 to와 from이 함수 greeting의 매개변수(parameters)입니다. //함수의 호출 greeting(to: "Swift', from: "예진") //여기서 to와 from은 전달인자(arguments)입니다.
위와 같은 경우는 매개변수와 전달인자의 이름을 일치시킨 경우입니다.Swift에서 함수를 호출할 때 매개변수의 이름을 함께 전달인자로 명시해야 합니다. 매개변수의 이름은 함수 정의 시에 지정한 이름과 일치해야 하며, 이를 통해 Swift는 전달된 값을 해당 매개변수에 올바르게 매핑합니다. 매개변수와 전달인자의 이름이 일치하지 않으면 컴파일러가 오류를 발생시킬 수 있습니다. 함수 호출 시에는 매개변수의 위치에 맞춰서 전달인자를 전달해야 하며, 이 때 전달인자의 타입도 매개변수와 일치해야 합니다.
전달인자 레이블은 뭘까?
전달인자 레이블(argument label)은 함수를 호출할 때 매개변수(parameter)를 식별하기 위한 레이블입니다. Swift에서 함수를 정의할 때 매개변수에 별도의 이름을 지정하여 호출할 때 사용할 수 있습니다.
예시를 살펴봅시다!
//함수 정의 func greet(person: String, from hometown: String) { print("Hello \(person)! Glad you could visit from \(hometown).") } //함수 호출 greet(person: "Yejin", from: "South Korea")
함수 정의 부분에서 person과 hometown은 greet 함수의 매개변수이고, from은 매개변수 hometown의 전달인자 레이블 입니다.
함수 호출 부분에서 "Yejin"과 "South Korea"는 매개변수 person과 from에 전달된 전달인자(argument)입니다.
함수 정의부분에 전달인자 레이블이 있을 경우, 함수 호출 시 파라미터가 아닌 전달인자 레이블을 사용합니다.
업로드된 내용 중 틀린 내용에 대해서는 가감없이 지적해주시면 좋겠습니다!