클래스 메소드
작성일
클래스 메소드
class MyClass {
// 클래스 메소드는 인스턴스를 생성하지 않고 메소드 호출이 가능한데
// final class 메소드랑 static class 메소드도 동일하다.
class func sayHi() -> String {
return "안녕?!"
}
static func sayHello() -> String {
return "안녕하세요?!"
}
final class func sayHelloFinal() -> String {
return "호호 안녕하세요?!"
}
}
print(MyClass.sayHi()) //안녕?!
print(MyClass.sayHello()) //안녕하세요?!
print(MyClass.sayHelloFinal()) //호호 안녕하세요?!
// 클래스 메소드는 오버라이딩 가능하지만
class HahaClass : MyClass {
override class func sayHi() -> String {
return "sayHi() HahaClass 에서"
}
// 스태틱과 파이널 메소드들은 부모 클래스 메소드를 오버라이딩 할 수 없다
}
print(HahaClass.sayHi()) //sayHi() HahaClass 에서
출력
안녕?!
안녕하세요?!
호호 안녕하세요?!
sayHi() HahaClass 에서