이번 포스팅에서는 Method
에 대해 알아보자.
Method
는 특정 타입에 관련된 함수이다.
class
, struct
, Enum
은 특정 작업이나 기능을 캡슐화한 인스턴스 메서드와 타입 자체와 관련된 타입 메서드를 정의할 수 있다.
모든 인스턴스는 암시적을 생성된
self property
를 갖는다.
인스턴스 자기 자신을 가리킨다.
self
는 인스턴스를 더 명확하게 지칭하고 싶을때 사용한다.
Swift는 자동을 메서드 내부에 선언된 지역 변수
-> 메서드 매개 변수
-> 인스턴스 프로퍼티
순으로 키워드를 유추한다.
이때 self
를 통해 인스턴스 프로퍼티
임을 알려줘 유추 과정을 줄일 수 있다.
Method
의 종류를 알아보자.
특정 타입의 인스턴스에 속한 함수이다.
인스턴스 내부의 프로퍼티 값을 변경하고 특정 연산 결과를 반환한다.
인스턴스와 관련된 기능을 실행한다.
특정 타입 내부에 구현한다.
❗️인스턴스가 존재할 때만 사용 가능하다.
❗️class
인스턴스 메서드가 아닌 struct
, Enum
은 값을 변경할때 mutating
키워드가 필요하다.
class Counter {
var count = 0
func increment() {
count += 1
}
func increment(by amount: Int) {
count += amount
}
func reset() {
count = 0
}
}
인스턴스 메서드는 인스턴스가 존재할 때만 사용 가능하므로 c
라는 인스턴스를 생성해준 후 메서드를 실행했다.
타입 자체에 호출 가능한 메서드이다.
타입 프로퍼티와 마찬가지로 타입 메서드도 static
, class
키워드로 선언할 수 있다.
타입 프로퍼티와 마찬가지로 static
으로 선언된 타입 메서드는 override
가 불가하다.
타입 프로퍼티와 마찬가지로 class
으로 선언된 타입 메서드는 override
가 가능하다.
프로퍼티의 종류에 이어 메서드의 종류에 대해 알아봤다.
그럼 이만👋