문제 요청사항
- 실행 결과를 참고한 Rectangle 클래스 만들기
- Rectangle 클래스의 toString(), equals() 메소드를 실행 결과에 맞게 재정의
- rect1, rect2 넓이(width), 높이 (height) 가진다.
- rect1, rect2 넓이와 높이를 equals() 함수 비교로 동등성 비교에 성공해야한다.
참고 RectangleMain.java
public class RectangleMain {
public static void main(String[] args) {
Rectangle rect1 = new Rectangle(200, 30);
Rectangle rect2 = new Rectangle(200, 30);
System.out.println(rect1);
System.out.println(rect2);
System.out.println(rect1 == rect2);
System.out.println(rect1.equals(rect2));
}
}
실행 결과
Rectangle width=200.0, height=30.0
Rectangle width=200.0, height=30.0
false
true
풀이
Rectangle.java
import java.util.Objects;
public class Rectangle {
private float width;
private float height;
public Rectangle(float width, float height) {
this.width = width;
this.height = height;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Rectangle rectangle = (Rectangle) o;
return Float.compare(width, rectangle.width) == 0 && Float.compare(height, rectangle.height) == 0;
}
@Override
public String toString() {
return "Rectangle width=" +
width +
", height=" + height;
}
}