<T>
인스턴스된 타입이 T인 객체와 같은 타입 T를 가진 다른 객체를 비교하기 위한 인터페이스.
자기 자신과 매개변수를 비교하는 것!.
같은 구조를 가진 두 객체를 비교할 때, 한 객체를 기준으로 대상이 되는 객체보다 큰지, 같은지, 작은지 구별한다.
// 여기서 객체는 객체의 특정 속성, 변수를 뜻함.
기존 객체 > 대상 객체 => 기존 객체가 대상객체 보다 크다.
기존 객체 = 대상 객체 => 같다.
기존 객체 < 대상 객체 => 기존 객체가 대상객체보다 작다.
이걸 반환형인 int라고 생각한다면
기존 객체가 더 크다면 양수
같다면 0
기존 객체가 더 작다면 음수라고 표현가능하다.
public class Order implements Comparable<Order> {
private int Integer_date;
public Order(int point) { this.Integer_date = Integer_date; }
@Override
public int compareTo(Order o) {
return this.Integer_date - Integer_date;
}
}
int 자료형은 4바이트(32비트) 자료형이며 표현 범위가 -2의 31승 ~ 2의31승 -1 으로, 이를 풀어쓰면 -2,147,483,648 ~ 2,147,483,647 이다.
계산시 이 값을 초과한다면,
underflow -2,147,483,648 -1 -> 2,147,483,647
overflow 2,147,483,647 +1 -> -2,147,483,648
https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html#method.summary
https://st-lab.tistory.com/243