Computed properties in Swift

class Square {
    var side: Double = 0
    var area: Double {
        get {
            return side * side
        }
        set {
            side = sqrt(newValue)
        }
    }
}

let square = Square()
square.side = 2
//square.area is 4

square.area = 9
//square.side is 3