- equals()
Object 클래스의 equals() 메소드는 반드시 자기 자신만 true 값을 반환하도록 주소값 비교를 한다. 만약 equals()의 별도의 로직이 필요하다면 재정의 해야 한다- hashCode()
equals() 메소드를 재정의 할 때 반드시 같이 재정의 해줘야 한다. Object 클래스의 hashCode()는 자기 자신을 제외한 모든 인스턴스는 다른 hashCode를 갖게 된다. 따라서 같은 타입이라도 다른 인스턴스라면 다른 hashCode 값을 가진다. 그렇기 때문에 HashMap, HashTable과 같은 경우 key를 제대로 찾지 못하게 될 수 있다.
class Color {
private int R,G,B;
public Color(int r,int g, int b){...}
//getters and setters
public final static Color RED = new Color(255,0,0);
public final static Color GREEN = new Color(0,255,0);
public final static Color BLUE = new Color(0,0,255);
}
Entity는 Request/Response 용으로 사용하면 안된다
Request/Responses는 변경들이 자주 생길 수 있다. Entity는 테이블과 관계가 있는데, 이를 이용하는 것은 테이블 스키마의 변경을 초래할 수 있다.