비교 (2) 썸네일형 리스트형 3-5) Comparable을 구현할지 고려하라 Comparable 인터페이스, compareTo 메소드 public class Customer implements Comparable { private int customerId; ... @Override public int compareTo(Customer o) { return Integer.compare(this.customerId, o.customerId); } ... } // customerList가 customerId 기준으로 정렬된다. Arrays.sort(customerList); Comparable 인터페이스는 compareTo 메소드를 가지고있다. compareTo 메소드는 두 객체를 비교하고 그 결과를 반환한다. 얼핏 equals 메소드와 비슷해 보일 수 있지만, equals는 두 객.. 3-1) equals는 일반 규약을 지켜서 재정의하라 equals 재정의 equals는 객체의 동일성을 비교하는 공통 메소드이다. 개발자는 필요에 따라서 자신이 개발한 클래스의 equals 메소드를 재정의 할 수 있다. 하지만 equals 메소드를 재정의할 경우 예기치 못한 문제가 생길 수 있다. 그렇기 때문에 아래의 경우 중 하나라도 해당된다면 메소드 재정의를 하지 않는 것이 옳다. 1. 각 인스턴스가 본질적으로 고유하다. // Thread 인스턴스는 고유하기 때문에 thread1, thread2는 당연히 다르다. Thread thread1 = new Thread(); Thread thread2 = new Thread(); // Customer 인스터스는 고객번호가 존재하고 customer1, customer2는 논리적으로 동일하다. Customer cu.. 이전 1 다음