Comparable<T>

Hwalyo·2022년 8월 30일
0
post-custom-banner

Comparable<T>

인스턴스된 타입이 T인 객체와 같은 타입 T를 가진 다른 객체를 비교하기 위한 인터페이스.

public int compareTo(T o)

자기 자신과 매개변수를 비교하는 것!.

비교 방법.

같은 구조를 가진 두 객체를 비교할 때, 한 객체를 기준으로 대상이 되는 객체보다 큰지, 같은지, 작은지 구별한다.

	// 여기서 객체는 객체의 특정 속성, 변수를 뜻함.
	기존 객체 > 대상 객체 => 기존 객체가 대상객체 보다 크다. 
    기존 객체 = 대상 객체 => 같다.
    기존 객체 < 대상 객체 => 기존 객체가 대상객체보다 작다.
    
    이걸 반환형인 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;
     }
}

유의점 Overflow, Underflow

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

reference

https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html#method.summary
https://st-lab.tistory.com/243

profile
꾸준하게글을작성해보자
post-custom-banner

0개의 댓글