class Point {
  #x = 1;
  #y = 2;

  constructor(x = 0, y = 0) {
    this.#x = +x;
    this.#y = +y;
  }

  get x() { return this.#x }
  set x(value) { this.#x = +value }

  get y() { return this.#y }
  set y(value) { this.#y = +value }

  equals(p) { return this.#x === p.#x && this.#y === p.#y }

  toString() { return `Point<${ this.#x },${ this.#y }>` }
}
