[Swift] 함수와 메서드

2023. 1. 26. 14:33·Apple/Swift
728x90
반응형

함수

  • 함수란 특정 작업을 수행하는 코드 블럭이다.
  • 수행하기 위하여 데이터가 제공될 수 있으며, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있다.
  • 함수 정의부의 값을 매개변수(parameter), 호출시의 값은 아규먼트(argument)라고 부른다.

메서드(method)

  • 특정 클래스, 구조체, 열거형 내의 함수
  • 함수를 스위프트 클래스 내에 선언하면 메서드라고 부른다.

 

디폴트 매개변수 정의하기

  • argument로 전달하는 값이 없는 경우, 디폴트 매개변수 값을 사용한다.
  • 함수를 선언할 때 매개변수에 디폴트 값을 할당한다.

 

함수로부터 여러 개의 결과 반환하기

  • 함수는 여러 결과 값들을 튜플로 감싸서 반환할 수 있다.
  • 인치 단위의 수를 매개변수로 받아 야드, 센티미터, 미터로 반환하고 이 세 개의 값을 하나의 튜플에 넣어 반환한다.

가변 매개변수

  • 함수가 지정된 데이터 타입으로 0개 또는 그 이상의 매개변수를 받는다는 것을 가리키기 위해서 세 개의 점(...)을 이용하여 선언한다.

inout 매개변수: call by reference

  • Swift는 기본적으로 call by value
  • Swift에서 call by reference를 구현하는 방법
  • 함수가 값을 반환한 후에도 매개변수에 일어난 변화를 유지하려면, 함수의 선언부에서 매개변수를 입출력 매개변수(in-out parameter)로 선언해야 한다.

 

함수를 매개변수로 사용

  • Swift는 함수를 데이터 타입처럼 처리할 수 있다.
  • 함수를 상수 또는 변수에 할당하는 것이 가능하다.
  • 함수를 호출하려면 원래의 함수 이름 대신에 상수 이름을 이용하여 호출 가능하다.
  • 어떤 함수에 다른 함수를 인자로 넘겨주거나 함수의 반환 값으로 함수를 넘겨줄 수 있다.
  • 매개변수로 함수를 받으려면, 함수를 받게 될 함수는 함수의 데이터 타입을 선언한다.

감사합니다.


잘못된 내용이 있거나 더 좋은 내용 피드백은 언제나 환영합니다!

궁금하신 부분은 댓글로 질문 부탁드립니다!

728x90
반응형
저작자표시 (새창열림)

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

[Swift] computed property, stored property, self, overloading  (0) 2023.02.01
[Swift] 클래스, 객체, 인스턴스  (0) 2023.01.31
[Swift] 연산자와 제어문  (0) 2023.01.25
[Swift] 옵셔널의 개념과 강제 언래핑  (0) 2023.01.19
[Swift] 데이터 타입, 자료형, print 함수, 변수, 상수, 튜플  (2) 2022.07.08
'Apple/Swift' 카테고리의 다른 글
  • [Swift] computed property, stored property, self, overloading
  • [Swift] 클래스, 객체, 인스턴스
  • [Swift] 연산자와 제어문
  • [Swift] 옵셔널의 개념과 강제 언래핑
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위한 학습과 경험의 기록
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (201)
      • Apple (119)
        • iOS (22)
        • visionOS (4)
        • Swift (65)
        • UIKit (2)
        • SwiftUI (20)
        • RxSwift (2)
        • Xcode (4)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (39)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 출처 표기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    운영체제
    Xcode
    SWIFT
    스위프트
    swiftUI
    Optional
    제어문
    메서드
    visionOS
    Initializers
    클래스
    UIKit
    연산자
    옵셔널
    디자인패턴
    배열
    프로퍼티 래퍼
    네트워크
    이니셜라이저
    자바스크립트
    변수
    티스토리챌린지
    코딩테스트
    combine
    비동기
    함수
    프로세스
    ios
    Vision Pro
    오블완
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[Swift] 함수와 메서드
상단으로

티스토리툴바