티스토리 뷰

언어 소개 - Swift

Swift - 함수

최초의 펭귄 2018. 5. 28. 15:05

안녕하세요. 오늘은 Swift의 함수에 대해 알아보겠습니다.
Swift의 특별한 점을 중점적으로 다루는 글이니 함수에 대해 알고 보시면 더욱 좋을 것 같습니다.

매개변수 이름

Swift의 함수에서 매개변수를 받는다면 매개변수 이름을 설정할 수 있습니다.
name : type 와 같이 설정하여 매개변수를 받을 수 있습니다.

또한 전달인자 레이블을 설정할 수 있는데 이를 통해 밖에 보이는 매개변수 이름
함수안에서 사용하는 매개변수 이름을 다르게 설정할 수 있습니다.
name label : type 와 같이 설정할 수 있으며
전달인자 레이블은 안에서 사용하는 매개변수 이름, 매개변수 이름은 밖에 보이는 매개변수 이름
으로 정의 할 수 있습니다.

매개변수 이름을 사용하고 싶지 않다면 와일드카드 식별자를 통해 매개변수 이름을 사용하지 않을 수 있습니다.
_ label : type 와 같이 설정하여 함수 내에서는 전달인자 레이블을 통해 매개변수를 사용합니다.

매개변수 기본값

Swift 함수는 매개변수에 기본값을 적용할 수 있습니다.
매개변수에 기본값을 설정하며 전달 값을 넘겨주지 않아도
기본값에 의해 동작할 수 있도록 만들 수 있습니다.

중요한 매개변수는 앞쪽에 배치하는 것이 좋습니다!

가변 매개변수

가변 매개변수를 통해 0개 이상의 값을 받아올 수 있습니다.
가변 매개변수를 통해 들어온 인자를 배열을 통해 사용할 수 있습니다.
가변 매개변수는 함수당 한 개만을 선언할 수 있습니다.

입출력 매개변수

함수의 전달인자로 값을 전달할 때 인자의 값을 복사하여 전달합니다.
전달인자의 참조를 전달하기 위해 inout이라는 키워드를 사용합니다.
클래스를 인자로 전달할 때는 참조를 전달합니다.

입출력 매개변수를 사용하면

  1. 함수를 호출할 때 전달인자의 값을 복사합니다.
  2. 해당 전달인자의 값을 변경하면 1에서 복사된 것을 함수 내부에서 변경합니다.
  3. 함수를 반환하는 시점에서 변경된 값을 원래 매개변수에 할당합니다.

inout 매개변수로 전달될 변수 또는 상수 앞에 &를 붙여서 참조를 표현합니다.

마치며

Swift는 함수형 프로그래밍도 지원합니다. 그렇기에 함수를 매개변수, 반환값으로 받을 수 있는 고차함수를 구현할 수 있습니다.
매개변수의 타입에 함수의 타입을 설정해주면 매개변수로 받을 수 있으며
반환값의 타입을 함수의 타입으로 설정하면 반환값으로 함수를 반환할 수 있습니다.
위의 내용의 질문이 있으면 하단에 남겨주세요! 아는만큼 답변 해 드리겠습니다.

감사합니다.

'언어 소개 - Swift' 카테고리의 다른 글

Swift - 옵셔널  (0) 2018.05.30
Swift - 흐름 제어  (0) 2018.05.29
Swift - ARC  (0) 2018.05.25
Swift - 사용자 정의 연산자  (0) 2018.05.21
Swift - 고급 데이터 타입  (0) 2018.05.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday