itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • nosql
  • 점주
  • CoreData
  • crud
  • 연결리스트
  • 어플
  • 개발자
  • AppleDevloperAcademy
  • 독립서점
  • binding
  • ios
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • POSTECH
  • 세그멘테이션
  • SWIFT
  • mongodb
  • 생활코딩
  • SwiftUI
  • CS
  • 킨디

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 08. 함수 고급
iOS/Swift

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 08. 함수 고급

2021. 7. 18. 16:40

함수의 매개변수 기본 값

매개변수 기본 값 : 함수 내에서 매개변수의 기본 값을 설정하는 것을 말한다.

나중에 함수를 호출하여 사용할 때 기본값이 설정되어 있는 매개변수의 값을 따로 지정해주지 않아도 기본값이 호출되고,

함수 호출 시 기본값이 설정되어 있는 매개변수에 다른 값을 적용하여 사용할 수 있다.

매개변수 기본값을 지정할 시에 맨 뒤로 빼줘야 함!

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

 

 

 

전달인자 레이블 ( Argument Label )

전달인자 레이블은 함수를 호출하여 사용 시 사용자 입장에서 더욱 편리?하고 분명?하게 사용하기 위한 인자이다.

함수 선언 구문 내에서는 전달인자 레이블로 선언할 수 없고, 호출 하여 사용 시 전달인자 레이블을 사용할 수 있다.

Swift에서는 전달인자가 포함되어 선언된 함수는 전달인자까지 같이 생각하여 함수를 구별하기 때문에

함수명이 동일하더라도 다른 전달인자 레이블이 존재하면 다른 함수로 본다.

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

 

 

 

가변 매개변수

지금껏 매개변수 하나 당 값을 하나씩만 받아왔다. 만약 매개변수에 몇 개의 값을 받을 지 모른다면?

그때 가변 매개변수를 사용한다.

가변 매개변수는 매개변수 하나에 여러 개의 값을 받을 수 있도록 하는 개념이며, 함수 하나당 가변 매개변수를 하나만 가질 수 있다. 매개변수 기본값처럼 매개변수 목록 중 제일 뒤에 위치하는 것이 좋음!

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

※ 가변 매개변수 사용할 시 값들이 Array형태로 담겨서 반환된다.

 

 

 

데이터 타입으로서의 함수

변수, 상수, 매개변수 등에 함수를 넣어 사용할 수 있다. Swift에서 함수의 활용도가 높은 것 같다.

(매개변수1타입 매개변수2타입...) -> 반환 타입
//...은 여러 개 올 수 있다는 의미

 

 

 

 

생각해보기

아직은 전달인자 레이블을 사용한 적은 없지만, 함수 호출 시 명확하고 간편하다는 장점말고 또 어떤 게 있을까...

가변 매개변수는 함수 당 하나씩만 가질 수 있지만, array 인스턴스를 활용하면 여러개의 가변 매개변수를 가진다는 효과가 있지 않을까...

'iOS > Swift' 카테고리의 다른 글

[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 10. 반복문  (0) 2021.07.18
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 09. 조건문  (0) 2021.07.18
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본  (0) 2021.07.18
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)  (0) 2021.07.15
[iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)  (0) 2021.07.14
    'iOS/Swift' 카테고리의 다른 글
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 10. 반복문
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 09. 조건문
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본
    • [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)
    itisjustK
    itisjustK

    티스토리툴바