안녕하세요 오늘은 java.lang.Object 에 대해서 알아보겠습니다.

 

 

 

Object 클레스는 모든 클레스의 최고 조상이기 때문에 Object 클레스의 맴버들은 모든 클레스에서 사용이 가능합니다.

 

Object 클래스의 맴버는 총 8개로 구성되어있으며 모두 메서드 입니다. 

 

이메서드 들은 모든 인스턴스가 가지고 있으며 하나씩 알아보겠습니다

 

 

1 equals 메서드

 

매개변수로 객체의 참조변수를 받아서 비교하며 그결과를  boolean 으로 돌려줍니다.

 

public boolean equals(Object obj){

return (this==obj);

}

 

public class EqualsTest{

public static void main(String [] args){

Val v1= new Val(10);

Val v2= new Val(10);

 

if(v1.equals(v2)){

System.out.println("v1과 v2는 같습니다 ");

} else{

System.out.println("v1과 v2는 다릅니다 ");

}

v2= v1;

 

if(v1.equals(v2)){

System.out.println("v1과 v2 는 같습니다 ");

} else{

System.out.println("v1과 v2 다릅니다 ");

}

}

}

 

class Val{

int val;

 

Val(int val){

this.val=val;

}

}

 

위의 예제를 돌려보시면 좀더 정확하게 주소값을 가지고 비교한다는 것을 알수있으며  실질적으로 값비교를 위해서는

알맞게 구현하신 클레스에서 equals 메서드를 오버라이딩 을 해주셔야 합니다 .

 

 

2 toString 메서드

 

toString()은 인스턴스에 정보를 문자열 (String)로 반환하는 메서드입니다 .

 

기본적인 정의는 아래와 같습니다

 

public String toString(){

return getClass().getName() + "@"+ Integer.toHexString(hashCode());

}

클레스 이름 + @ + 해쉬코드 를 리턴합니다

 

3 clone메서드

 

이메서드는 자신을 복제하여 새로운 인스턴스를 생성하는 일을 합니다 .

 

이메서드는 단순히 맴버변수의 값만 복사하기 때문에 배열이나 인스턴스 맴버로 정의되어있는 클래스 인스턴스를 클론할경우

 

적절하게 오버라이딩 해서 구현해 줘야합니다.

 

4.  finalize메서드

 

finalize()는 가비지 컬렉터에서 해당 객체가 필요없다고 판단될때 실행될 문장을 가지는 메서드입니다.

 

해당 객체가 수거될때 실행될 코드가 있다면 이메서드를 오버라이딩 해서 사용하시면 됩니다

 

 

 

나머지 메서드들은 쓰레드와 관련되어있는 메서드 들입니다.

 

웹프로그래밍에서는 거의 안쓰며 나중에 네트워크쪽으로 일하실때 필요하시면 API 참조하시면 됩니다.

 

그럼 다음에 또뵈여

 

 

'IT > JAVA' 카테고리의 다른 글

메소드 오버로딩 (method overloading)  (0) 2017.05.23
자바 StringBuffer 에 대해서  (0) 2017.05.22
자바 문자열 클레스 String  (0) 2017.05.18
객체지향언어 (자바)  (0) 2017.05.15
자바의 배열(Array)  (0) 2017.05.05

+ Recent posts