Rectangle2D 클래스

Rectangle2D 클래스

Rectangle2D 클래스는 위치 (x,y)와 크기 (w × h)로 정의된 사각형을 설명해요. 이 클래스는 2D 사각형을 저장하는 모든 객체의 추상 슈퍼클래스일 뿐이에요. 좌표의 실제 저장 표현은 하위 클래스에 맡겨져요.

출처: Java API Reference

본문

사각형은 왼쪽 위 모서리 위치와 너비·높이로 정의돼요. Rectangle2DRectangularShape를 확장하며, 교차·조합·히트 테스트 등 사각형 전용 기하 연산을 제공해요.

public abstract class Rectangle2D
extends RectangularShape

내부 클래스

  • Rectangle2D.Float — 좌표를 float로 저장하는 구현
  • Rectangle2D.Double — 좌표를 double로 저장하는 구현

주요 메서드

  • getX() / getY() / getWidth() / getHeight() — 위치와 크기를 반환해요.
  • setRect(...) — 사각형을 설정하는 여러 오버로드가 있어요.
  • getMinX() / getMaxX() / getMinY() / getMaxY() — 경계 값을 반환해요.
  • getCenterX() / getCenterY() — 중심을 반환해요.
  • getBounds2D() — 경계 사각형을 반환해요.
  • intersects(...) / intersectsLine(...) — 교차 여부를 판단해요.
  • createIntersection(Rectangle2D) / createUnion(Rectangle2D) — 교집합·합집합 사각형을 만들어요.
  • outcode(...) — 점이 사각형의 어느 바깥 영역에 있는지 판단해요.
  • contains(...) — 포함 여부(히트 테스트)를 확인해요.

사용 예

Rectangle2D r1 = new Rectangle2D.Double(0, 0, 10, 10);
Rectangle2D r2 = new Rectangle2D.Double(5, 5, 10, 10);
Rectangle2D inter = r1.createIntersection(r2);  // (5,5,5,5)

영역 교차·포함 검사, 그리기·채우기, 충돌 감지 등에 널리 사용돼요.

더 알아보기