Object Class
1623 ワード
Objectクラス
:すべてのクラスがobjectクラスを継承します.
ハッシュコード
:バイナリファイル->ハッシュ関数を使用して演算->サイズを小さくします.計算した戻り値をhashコードに入れます.
hashCode()は、10進数hashコードを返します.
toString()は16進数のhashコードを返します.
equals()
clone():アクセスが保護されているため、継承アクセスのみでアクセスできます.
package com.bit.day09.am;
import java.util.Arrays;
public class Ex04 {
public static void main(String[] args) {
Object obj=new Object();
System.out.println(obj);
System.out.println(obj.toString());
System.out.print("클래스정보");
System.out.print('@');
System.out.println(obj.hashCode()); //10진수로 반환
// java.lang.Object@15db9742
// java.lang.Object@15db9742
// 클래스정보@366712642
Object obj2=new Object();
//equals 메소드를 오버라이딩 시켜 value값 비교하는 것
System.out.println(obj.equals(obj2));
Object obj3=obj1.clone(); //오류 : protected
Ex04 me=new Ex04();
// Object obj4=me.clone(); 오류
int[] arr={1,3,5};
System.out.println(arr);
//배열 복사의 또다른 방법 object클래스의 clone()을 이용
//배열을 클론으로 복사. 타입은 object (배열 타입을 upcasting)
//그냥 클론하면 오류가 뜬다.
Object obj3=arr.clone();
System.out.println(obj3); //주소값 출력
int[] arr2=(int[])obj3; //obj3는 주소값은 arr의 주소이고 그것을 arr2에 넣었다.
System.out.println(Arrays.toString(arr2));
//클래스가 interface cloneable을 implements 한다면 25번 라인 Object obj4=me.clone();가 가능해진다.
//object클래스는 인터페이스를 상속받는지 확인하여 상속받으면 클론이 되도록 해놓은 것.
}
}
Reference
この問題について(Object Class), 我々は、より多くの情報をここで見つけました https://velog.io/@jinkyung/Object-Classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol