Swift 기초 문법 - 48. static func, final class func

정성윤·2023년 8월 18일
0

Swift 이론

목록 보기
51/64

static func과 final class func는 스위프트 언어에서 사용되는 특별한 종류의 메서드 선언입니다.

1. static func

static func은 클래스나 구조체의 타입 자체에 속하는 정적 메서드를 선언하라 때 사용됩니다.
해당 메서드는 타입 멤버로써 인스턴스를 생성하지 않고도 호출할 수 있습니다. 클래스의 인스턴스에 의존하지 않고도 작업을 수행하고 싶을 때 유용하게 사용됩니다. 타입 메서드는 서브클래스에서 재정의할 수 없으며, 자식 클래스에서 다시 구현할 수 없습니다.

class MathUtility {
    static func add(_ a: Int, _ b: Int) -> Int {
        return a + b
    }
}

let sum = MathUtility.add(5, 3) // 정적 메서드 호출

2. final class func

final class func은 상속을 허용하지 않는 클래스 메서드를 선언할 때 사용됩니다. final 키워드는 해당 메서드의 재정의를 금지하며, 서브클래스에서 해당 클래스 메서드를 변경할 수 없습니다.

class Shape {
    final class func description() -> String {
        return "This is a shape."
    }
}

class Circle: Shape {
    // 오류: 상속한 메서드를 재정의할 수 없음
    // override class func description() -> String {
    //     return "This is a circle."
    // }
}

Shape 클래스 내의 메서드는 final로 선언되어 있으므로, Circle 클래스 내에서 재정의하려고 하면 컴파일 오류가 발생합니다.

참고(출처) : 개발하는 정대리, 야곰(Swift5)

profile
이유있는 스위프트 개발자

0개의 댓글