[swift] 08. 메소드

인스턴스 메소드(Instance method) 내에서 value 타입 property 변경

mutating keyword 를 붙여준다. 

struct Point {
    var x = 0.0, y = 0.0
    mutating func moveBy(x deltaX: Double, y deltaY: Double) {
        x += deltaX
        y += deltaY
    }
}
var somePoint = Point(x: 1.0, y: 1.0)
somePoint.moveBy(x: 2.0, y: 3.0)
print("The point is now at (\(somePoint.x), \(somePoint.y))")
// "The point is now at (3.0, 4.0)" 출력
struct Point {
    var x = 0.0, y = 0.0
    mutating func moveBy(x deltaX: Double, y deltaY: Double) {
        self = Point(x: x + deltaX, y: y + deltaY)
    }
}

타입 메소드 (Type method)

생성없이 접근 가능한 method. static, class keyword를 사용 

class SomeClass {
    class func someTypeMethod() {
        // 타입 매소드 구현
    }
}
SomeClass.someTypeMethod()    // 타입 매소드 호출!