[swift] Function

2024. 3. 28. 18:54·swift

함수 (Function)

  • 함수는 독립적인 코드 블록으로, 특정 작업을 수행하고 값을 반환하거나 부가적인 기능을 한다.
  • 전역 범위에서 정의되거나 특정 타입 내에 포함될 수 있다.
  • 함수는 'func' 키워드를 사용하여 정의되며, 함수 이름, 파라미터, 반환 타입 및 실행할 코드를 포함한다.

메서드 (Method)

  • 메서드는 특정한 타입에 속함 함수로, 해당 타입의 인스턴스에 의해 호출된다.
  • 메서드는 해당 타입의 인스턴스에 대해 작동하거나 변경하는 데 사용된다.
  • 메서드는 함수와 비슷한 구문을 가지지만, 특정 타입에 속해 있으며 해당 타입의 인스턴스를 수정할 수 있다.

함수 선언

  • 함수 이름은 유니크해야 한다.
  • 파라미터와 반환 유형은 선택적이다. (없어도 된다.)
func 함수이름(파라미터1: 타입, 파라미터2: 타입) -> 반환타입 {
	// 함수의 본문
	return 반환값 // 반환 값이 있는 경우 - 반환타입과 동일해야한다. 
}

파라미터

  • 함수는 0개 이상의 파라미터를 가질 수 있다.
  • 파라미터는 함수 호출 시 전달되는 값이며, 함수 본문 내에서 사용된다.
  • 파라미터는 이름과 타입으로 구성된다.

반환 값

  • 함수가 값을 반환하는 경우, 반환 타입을 선언해야한다.
  • 반환 타입은 함수의 실행 결과를 나타내며, 함수 실행이 완료되면 반환된다.
  • 반환 타입이 없는 경우 'Void'를 사용하거나 생략할 수 있다.

함수 호출

  • 함수를 호출할 때는 함수 이름을 사용하고, 괄호 안에 전달할 인수를 나열한다.
  • 함수 호출 결과는 변수에 할당하거나 다른 표현식 내에서 사용할 수 있다.
let 결과 = 함수이름(전달값1, 전달값2)

 

내부 및 외부 파라미터 이름(Internal and External Parameter Names)

  • 함수 정의(선언) 시 파라미터에 내부 및 외부 이름을 지정할 수 있다.
  • 내부 이름은 함수 내에서 사용되는 파라미터의 이름이며, 외부 이름은 함수를 호출할 때 사용되는 이름이다.
func exampleFunc(externalName internalName: String) -> String {
    return internalName
}

var name: String = "홍길동"

name = exampleFunc(externalName: "홍길동아니다")

print("저는 \(name) 입니다.")

// 저는 홍길동아니다 입니다.

 

파라미터 레이블 제외

  • '_'(언더바)로 파라미터를 변경하면 인수 레이블에 이름 지정을 삭제할 수 있다.
func exampleFunc(_ internalName: String) -> String {
    return internalName
}

var name: String = "홍길동"

name = exampleFunc("홍길동아니다")

print("저는 \(name) 입니다.")

// 저는 홍길동아니다 입니다.

 

파라미터 기본 값

  • 파라미터에 기본값을 할당할 수 있다.
func exampleFunc2(x: Int, y: Int = 5) {
	print("x: \(x)")
    print("y: \(y)")
}

exampleFunc2(x: 3)
// x: 3
// y: 5

exampleFunc2(x: 3, y: 8)
// x: 3
// y: 8

'swift' 카테고리의 다른 글
  • [swift] 데이터 저장 방식
  • [swift] Optional
  • [swift] Loops
  • [swift] Collection
GwanSon
GwanSon
귀찮음과 불편함을 해결하는 개발자가 되자.
  • GwanSon
    관슨의 개발일지
    GwanSon
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • iOS (4)
      • swift (16)
      • UIKit (0)
      • swiftUI (2)
      • 알고리즘 (9)
      • CS (8)
      • 면접 (11)
      • Flutter (6)
      • 회고 (2)
      • 잡담 (3)
  • 블로그 메뉴

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

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    모듈화
    SDK
    2025 토스 Next
    FirebaseAuth
    ios
    부스트캠프
    백준
    부스트캠프 10기
    tuist
    Provider
    네이버 부스트캠프 후기
    네이버 부스트캠프
    boj
    Swift
    알고리즘
    후기
    Flutter
    Firebase
    챌린지
    fatal error
    android
    구슬 탈출2
    토스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
GwanSon
[swift] Function
상단으로

티스토리툴바