2014년 5월 25일 일요일

JAVA Object 클래스(자바 오브젝트 클래스), toString, equals, hashCode, clone, finalize[자바개발자교육/자바교육/자바강좌/자바,Spring교육잘하는곳/자바,spring교육추천/자바실무교육/JAVA/JAVA교육/JAVA스프링학원/JAVA실무교육]

JAVA Object 클래스(자바 오브젝트 클래스), toString, equals, hashCode, clone, finalize[자바개발자교육/자바교육/자바강좌/자바,Spring교육잘하는곳/자바,spring교육추천/자바실무교육/JAVA/JAVA교육/JAVA스프링학원/JAVA실무교육]
 
- 모든 클래스 및 배열 자료형의 최상위 클래스

- 모든 객체는 Object의 하위 객체, 즉 소스에서 아무것도 상속 받지 않았다면 컴파일러에 의해 java.lang.Object를 상속하는 클래스로 선언 된다.

- Object 타입의 변수는 어떠한 객체도 가리킬 수 있다
IS-A 관계
Object obj = new int[10];
obj = new StringBuffer(“onjoraclejava”);
 
- 객체의 내용을 String 으로 변환
String toString()
모든 객체에는 객체의 내용을 문자열로 변환할때 이용되는 toString() 메소드가 간접적으로 호출되도록 되어있음.

- 객체의 내용으로 비교
boolean equals(Object obj)
 
- Hash code 생성
int hashCode()
 
- 객체 복제
protected Object clone() throws CloneNotSupportedException
 
- 객체가 소멸될 때 불리는 함수
finalize() throws Throwable
 
 
class OnjTest {
 double w, h;
 OnjTest(double w, double h) {
  this.w = w;
  this.h = h;
 }
 public String toString() {
  return "width=" + w + " , Height=" + h;
 }
 public static void main(String[] agrs) {
  OnjTest r = new OnjTest(2.0, 2.0);
  System.out.println(r);
  System.out.println(r.toString());
 }
}
 
 
- 객체의 실제 자료형을 알기 위한 함수
Class getClass()
 
- 쓰레드 동기화
wait(long timeout) throws InterruptedException
wait(long timeout, int nanos) throws InterruptedException
notify()
notifyAll()
- 해쉬 코드
해쉬 코드는 객체에 대한 서명, 또는 checksum과 같은 것으로 보통 객체의 내용을 바탕으로 만들어진 난수처럼 보이는 객체 인식용 정수이다.
객체가 서로 다른 내용을 포함한다면 반드시 달라야 하며 ,equals() 메소드가 같다면 일반적으로 같은 값을 가진다.
해쉬 코드는 객체를 Hashtable에 저장하는 경우에 사용한다. 해쉬 코드는 객체를 골고루 저장할 수 있도록 식별자로 활용 할 수 있고 따라서 자료를 찾을때도 빠르게 찾을 수 있도록 도와 준다.
실행중 두번 이상 같은 객체의 해쉬코드가 호출 되는 경우 항상 같은 정수 값을 return 한다.
 
 

댓글 없음:

댓글 쓰기