메서드의 종류
- 인스턴스 메서드(Instance Method)
- 스태틱 메서드(Static Method)
- 클래스 메서드(Class Method)
1, 인스턴스 메서드
- 클래스를 통해 호출할 수 없고, 클래스를 실체화해 생성된 인스턴스를 통해 호출할 수 있는 메서드입니다.
class ExClass {
func instanceMethod() {
print("Instance")
}
}
let ex = ExClass()
ex.instanceMethod() // Instance
//출처: https://thoonk.tistory.com/55 [thoonk's record:티스토리]
2, 스태틱 메서드와 클래스 메서드 공통점
- 타입 메서드입니다.
- 인스턴스를 생성하지 않고 바로 접근하여 호출할 수 있습니다.
class ExClass {
static func staticMethod() {
print("Static")
}
class func classMethod() {
print("Class")
}
}
ExClass.staticMethod() // Static
ExClass.classMethod() // Class
//출처: https://thoonk.tistory.com/55 [thoonk's record:티스토리]
3, 스태틱 메서드와 클래스 메서드 차이점
스태틱 메서드
- 상속 후 메서드 재정의 불가능합니다.
- 구조체와 열거형은 static 메서드를 사용합니다.
클래스 메서드
- 상속 후 메서드 재정의 가능합니다.
- 클래스에서 static, class 모두 사용합니다.
class NewClass: ExClass {
// 오버라이딩 불가능 (컴파일 에러)
override static func staticMethod() {}
// 오버라이딩 가능
override class func classMethod() {}
}
//출처: https://thoonk.tistory.com/55 [thoonk's record:티스토리]
내용 출처
'iOS > Swift 문법 복습' 카테고리의 다른 글
프로토콜 [Protocol] (0) | 2022.06.29 |
---|---|
옵셔널 [Optional] (0) | 2022.06.28 |
프로퍼티 (Properties) (0) | 2022.06.27 |
Struct와 Class, Enum의 차이를 설명하시오. (0) | 2022.06.25 |
댓글