250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- ios
- mvc
- CS
- WeatherKit
- 세종대학교
- 협업
- 토이프로젝트
- 반응형
- MVVM
- swift
- RxSwift
- SwiftUI
- 구름톤 유니브
- 스트럭트
- uikit
- async
- AppStore
- 대표
- 앱개발
- 학과별커뮤니티
- 네트워크
- 프로토콜
- 실습
- collectionview
- 디자인 패턴
- 이론
- forEach
- 기초문법
- struct
- 딕셔너리
Archives
- Today
- Total
스윞한 개발자
Swift 기초 문법 - class func vs static func 본문
728x90
반응형
SMALL
class func VS static func 에 대해 알아보겠습니다!
스위프트에서 class func 와 static func 는 둘다 클래스 레벨에서 정의되는 메서드입니다.
*두 가지의 주요 차이점은 상속과 관련이 있습니다.*
- class func
class func 는 클래스 계층 구조에서 메서드가 상속되고 재정의 될 수 있음을 나타냅니다.
서브클래스에서 class func 로 정의된 메러드를 오버라이드하여 새로운 구현을 제공할 수 있습니다.
class A {
class func someClassFunc() {
print("Class A's class func")
}
}
class B: A {
override class func someClassFunc() {
print("Class B's class func")
}
}
let instanceA: A = B()
instanceA.someClassFunc() // 출력: "Class B's class func"
- static func
static func는 메서드가 상속되지 않고, 오버라이드될 수 없음을 나타냅니다.
서브클래스에서 static func로 정의된 메서드를 동일한 이름으로 다시 정의하더라도, 부모 클래스의 메서드가 가려진 채로 유지됩니다.
class X {
static func someStaticFunc() {
print("Class X's static func")
}
}
class Y: X {
static func someStaticFunc() {
print("Class Y's static func")
}
}
let instanceX: X = Y()
instanceX.someStaticFunc() // 출력: "Class X's static func"
*class func는 클래스 계층 구조에서 상속과 오버라이드가 가능한 메서드이며, static func(=final class func)는 상속되지 않고 오버라이드되지 않는 메서드입니다.*
출처 : 개발하는 정대리
728x90
반응형
LIST
'Swift 이론' 카테고리의 다른 글
Swift 기초 문법 - getter / setter (0) | 2024.01.25 |
---|---|
Swift 기초 문법 - 의존성 주입 Dependency (0) | 2024.01.25 |
Swift 기초 문법 - private(set)/foreach, enumerate/compactMap/flatMap (0) | 2024.01.24 |
Swift 기초 문법 - lazy 키워드 (0) | 2024.01.24 |
Swift 기초 문법 - 고차함수 Higher Order Functions (0) | 2024.01.23 |