Method

이원희·2020년 12월 27일
0

 🐧 Swift

목록 보기
11/32
post-thumbnail

이번 포스팅에서는 Method에 대해 알아보자.

Method

Method는 특정 타입에 관련된 함수이다.

class, struct, Enum특정 작업이나 기능을 캡슐화한 인스턴스 메서드타입 자체와 관련된 타입 메서드를 정의할 수 있다.


self property

모든 인스턴스는 암시적을 생성된 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가 가능하다.


마무리

프로퍼티의 종류에 이어 메서드의 종류에 대해 알아봤다.
그럼 이만👋

0개의 댓글