1213 강의 정리
- 참조 값이 같다.
o ‘==’, ‘!=’
- 값이 같다.
- Object가 최상위 클래스
o Equals() method – 기준을 정해서 값을 비교해준다.
§ 값이 같은 것을 보기 위해선 기준이 있어야 한다.
· 이름이 같은지, 나이가 같은지…
· 기준은 객체를 만든사람이 정한다.
§ Object가 equals 메소드를 가진다.
§ 다만 별 쓸모가 없다
· Overriding을해서 사용을 해야 쓸모가 있다.
· 자바에서 제공하는 대부분의 값을 가지는 객채의 클래스들은 이미 equals 메소드를 오버라이딩 하고 있다.
§ Equals를 오버라이딩 했다는 것은 데이터를 표현하는 객체를 생성한다는 것
§ hashCode()도 같이 오버라이딩
· hashCode()도 Object가 가지고 있다.
§ hash라는 알고리즘에서 Equals와 hashCode를 같이 사용한다.
§ Hash는 누가 사용하나?
· 유일한 값을 표현하기 위한 (Set, Map…)
· hashSet, hashMap…
§ 서로 다른 객체면 서로 다른 값을 리턴 해 주는 것이 좋다
· 다만 이론적으로 힘들다
· 인스턴스의 수가 많아지면 결국 중복이 생긴다.
§
o 기본형은 ‘==’로 비교
§ 기본형을 값을 가지는것들 (int, short, char, long, double, float, …)
toString, hashCode, equals
코딩할 줄 알아야 한다.
Sort는 파라미터로 받은 list안의 compareTo 메소드를 호출해서 list를 졍렬한다.
즉 sort를 이용하기 위해서 내가 무엇을 구현해야 하는지 알아야 한다.
Goods안의 compareTo 메소드는 내가 사용하기 위해 만든 것이 아니라 다른 사람이 만든 메소드가 사용하기 위해 만든것