def get_neighbors(point):
    """Given a 2D point (represented as a Point object), returns a list of the
    four points that neighbor it in the four coordinate directions. Uses the
    "copy" method to avoid modifying the original point."""
    neighbor_points = []
    
    up = point.copy()
    up.setY(up.getY()+1)
    neighbor_points.append(up)
    
    down = point.copy()
    down.setY(down.getY()-1)
    neighbor_points.append(down)
    
    left = point.copy()
    left.setX(left.getX()-1)
    neighbor_points.append(left)
    
    right = point.copy()
    right.setX(right.getX()+1)
    neighbor_points.append(right)
    
    return neighbor_points