2011년 2월 8일 화요일

Object Class

1. equals()는 참조변수의 주소값을 이용하여 연산한다.

2. hashCode()는 해싱기법에 사용되는 해시함수를 구현한것
 - public native int hashCode(); 와 같이 native 메소드이다.
 - 메모리 주소를 이용하여 hashcode를 생성한다. 따라서 한번의 실행도중 생성되는
   모든 instance는 상이한 hashcode를 가진다.
 - equals()를 overriding시 hashCode()도 overriding해주어야 한다.
   같은 객체라면 hashCode도 동일해야 하기 때문이다.

3. clone()
 - protected native Object clone() throws
   CloneNotSupportedException;

 - Clonable interface를 구현해야 사용이 가능하다.
 - 이것을 통해 interface의 사용법에 대해 좀더 알게 되었다.
   clone()을 호출하는 곳에서는 Cloneable을 구현한 concrete class가 아닌
   Cloneable interface를 이용하여 호출 할것이다.

댓글 없음:

댓글 쓰기