1. Instance Method 예제

 

클래스 내에 count라는 Propertyincrement라는 Method를 만든 예시입니다.

그리고 counter_kim이라는 변수를 Instance로 만들었으며 이것이 . 을 통해서 increment라는 Method에 접근했습니다.

class Counter {
    var count: Int = 0
    
    func increment() {
        count += 1
    }
}

var counter_kim : Counter = Counter()
counter_kim.increment()
counter_kim.increment()
print(counter_kim.count)

 

 

 

 

 

2. Type Method 예제 : 기본

 

class func / static func 를 활용해 타입 메소드로 쓸 경우, 인스턴스를 만들지 않고도 메소드를 사용할 수 있습니다.

 

class Print {
    class func printMessageHi() {
        print("Hi!")
    }
}

class PrintWorld {
    static func printMessageHi() {
        print("Hi, World!")
    }
}

Print.printMessageHi()
PrintWorld.printMessageHi()

 

 

 

 

 

3. Type Method 예제 : class와 static의 차이

 

static method : sub class에서 override 할 수 없습니다.

class method : sub class에서 override가 가능합니다.

 

class Print {
    static func sayHello() {
        print("Hello!")
    }
}

class Print2:Print {
    override class func sayHello() {
        print("Hello!!!!!!!")
    }
}

class Print3:Print {
    override static func sayHello() {
        print("Hello~~~~~")
    }
}

Print2.sayHello()
Print3.sayHello()

 

 

 - static을 class로 바꿔주면 해결됩니다.

 

class Print {
    class func sayHello() {
        print("Hello!")
    }
}

class Print2:Print {
    override class func sayHello() {
        print("Hello!!!!!!!")
    }
}

Print2.sayHello()

 

 

 

 

 

+ Recent posts