package model; public class Point { private int x; private int y; // IllegalArgumentException 매ê°ë³ìê° ìëíì§ ìì ìí©ì ì ë°ìí¬ ë // IllegalStateException ë©ìë를 í¸ì¶í기 ìí ìíê° ìë ë public Point(int x, int y) { if (x < 0 || x > 24) { throw new IllegalArgumentException("0ì´ì ëë 24 ì´íë§ ì ë ¥í´ì£¼ììì¤."); } if (y < 0 || y > 24) { throw new IllegalArgumentException("0ì´ì ëë 24 ì´íë§ ì ë ¥í´ì£¼ììì¤."); } this.x = x; this.y = y; } // íì view í¨í¤ì§ê° ìëë©´ í´ëì¤ ë©ìë를 ì¬ì©íë©´ ìëë¤ê³ ìê°íìë¤. //í©í 리 ë©ìë를 ì²ì ìê² ëìê³ , ìì¸í ììë³´ê³ ì¨ë´ì¼ê² ë¤. public int getX() { return x; } public int getY() { return y; } public boolean isSameXaxis(Point point) { return this.x == point.x; } public boolean isSameYaxis(Point point) { return this.y == point.y; } public int minusXaxis(Point point) { return x - point.x; } public int minusYaxis(Point point) { return y - point.y; } public double makeLine(Point point) { return Math.sqrt(Math.pow(minusXaxis(point), 2) + Math.pow(minusYaxis(point), 2)); } public boolean isPassable(Point point) { return !(isSameXaxis(point) || isSameYaxis(point)); } @Override public String toString() { return "Point{" + "x=" + x + ", y=" + y + '}'; } }