먼저 결론부터 짓고 가면 함수안에 메소드가 있는 형태다.
메소드
-메소드는 클래스, 구조체, 열거형에 속해 있는 함수를 말한다.
-메소드의 종류에는 인스턴스 메소드와 타입 메소드가 있다고 이전에 배웠다.
인스턴스 메소드를 사용하기 위해서는 인스턴스를 만든 후 .을 통해 접근이 가능하고,
타입 메소드는 타입 . 을 통해 접근이 가능.
class Student {
static func introduce1() {
print("나를 소개")
}
func introduce2() {
print("나를 소개")
}
}
Student.introduce1() //타입 메소드
let student = Student()
student.introduce2() //인스턴스 메소드
함수
-클래스, 구조체, 열거형과 무관하고 재사용이 가능한 코드 뭉치라고 한다.
-메소드와 다르게 . 이 없어도 걍 사용이 가능함.
var nums = [10, 20, 30, 40, 50]
nums.replaceSubrange(1...3, with: repeatElement(1, count: 5))
위 코드를 보면 nums라는 배열의 인스턴스 .replaceSubrange()는 인스턴스 메소드이고,
with의 인자로 받는 repeatElement()를 사용할 때 .없이 걍 사용했는데, 이거시 바로 함수다.
공식문서를 보면 Function(함수)라고 정의되어 있는 것을 볼 수 있음.
이렇게 함수는 . 없이 그냥 사용이 가능한 존재들.
Reference:
https://sujinnaljin.medium.com/swift-function-vs-method-ca76a0314484
https://developer.apple.com/documentation/swift/repeatelement(_:count:)
'Swift' 카테고리의 다른 글
열거형에 관하여 2 (0) | 2023.02.17 |
---|---|
열거형에 관하여 (0) | 2023.02.15 |
Static과 Class에 관하여 (0) | 2023.01.31 |
오버로딩(Overloading)에 관하여 (0) | 2023.01.30 |
서브스크립트에 관하여 (0) | 2023.01.28 |