Clone() 1. 객체 자신을 복제(clone)해서 새로운 객체를 생성하는 메서드 2. Cloneable인터페이스를 구현한 클래스의 인스턴스만 복제할 수 있다. 3. Object클래스에 정의된 clone()은 인스턴스변수의 값만을 복제한다. 4. 인스턴스변수가 참조형일 때 , 참조하는 객체도 복제되게 오버라이딩해야한다. package Practice;public class Examclone implements Cloneable // Cloneable 인터페이스를 구현한 클래스에서만 clone을 호출할 수 있다. // 만약 이 인터페이스를 구현해 놓지 않고 Clone을 호출하면 예외처리가 발생한다. {int x;int y;Examclone(int x, int y) {this.x = x;this.y = y..
hashCode() 1. 객체의 해시코드 (int타입의 정수)를 반환하는 메서드 (해시함수) 다량의 데이터를 저장 & 검색하는 해싱기법에 사용된다. 2. Object클래스의 hashCode()는 객체의 내부주소를 반환한다. 3. Equals()를 오버라이딩하면 , hashCode()도 같이 오버라이딩 해야한다. Equals()의 결과가 true인 두 객체의 hash code는 같아야하기 때문이다. 4. System.identityHashCode(Object obj)는 Object클래스의 hashCode()와 동일한 결과를 반환한다.
Equals ( Object obj ) 1. 객체 자신과 주어진 객체(obj)를 비교한다. 같으면 true , 다르면 false 2. Object클래스에 정의된 equals()는 참조변수 값 (객체의 주소)을 비교한다. 3. Equals()를 오버라이딩해서 인스턴스변수의 값을 비교하도록 바꾼다.
Object클래스의 메서드 1. 모든 클래스의 최고 조상 . 오직 11개의 메서드만을 가지고 있다. 2. Notify() , wait()등은 쓰레드와 관련된 메서드이다. 3. Equals() , hashCode() , toString() 은 적절히 오버라이딩해야 한다.
사용자정의 예외 만들기 1. 기존의 예외 클래스를 상속받아서 새로운 예외 클래스를 정의할 수 있다. 2. 에러코드를 저장할 수 있게 ERR_CODE와 getErrCode()를 멤버로 추가