본문 바로가기

Java/강의

Object 클래스

Object 클래스의 public 메소드 
String toString() ☞ 객체를 나타내는 String 객체를 돌려준다.
Class getClass()  ☞ 객체가 속한 클래스를 돌려준다. 
boolean equals (Object arg)  ☞ 객체가 arg와 같으면 true를 돌려준다. 
int hashCode()  ☞ 객체의 hash code를 돌려준다.
void notify()   ☞ 쓰레드를 깨운다 
void notifyAll()   ☞   연관된 모든 쓰레드를 깨운다
void wait()   ☞   쓰레드의 실행을 일시 중지시킨다.

toString() 메소드
toString()은 모든 객체를 String 객체로 바꾸는 메소드 
toString() 메소드는 모든 클래스에서 재정의될 수 있으며, 
많은 클래스에서 객체를 표현하는 문자열을 만들기 위해서 재정의한다. 
toString() 메소드는 public이므로, 재정의할 때는 public으로 해야한다. 
 
toString() 메소드를 재정의하지 않은 클래스에서 toString() 메소드를 호출하면, 
Object 클래스에서 정의된 toString() 메소드가 호출된다. 
 
이때 객체는 클래스의 이름과 '@' 문자뒤에 객체 해쉬코드가 16진수로 출력된다. 
/* toString() 메소드를 재정의한 경우와 재정의하지 않은 경우의 실행을 보여주는 프로그램 */

class CLASStoStringA {
    public static void main (String[] args) {
        Integer number = new Integer (38);
        OverridetoStringClass objectA = new OverridetoStringClass();
        NotOverridetoStringClass objectB = new NotOverridetoStringClass();

        String numberString = number.toString();
        String objectAString = objectA.toString();
        String objectBString = objectB.toString();
    
        System.out.println (numberString);
        System.out.println (objectAString);
        System.out.println (objectBString);
    }
}

class OverridetoStringClass {
    public String toString() {
        return ("This is to show overriding toString method");
    }
}  

class NotOverridetoStringClass {}

Object 클래스 = 최상위 클래스로 모든 타입의 객체를 가리킬수 있음[Object A = new String();]
(C의 void 포인터와 비슷)






'Java > 강의' 카테고리의 다른 글

Class 클래스와 다형성  (0) 2011.03.02
매소드 재정의 (Method Overriding)  (0) 2011.02.23
상속 (Inheritance)  (0) 2011.02.21
Random 클래스  (0) 2011.02.21
vector 클래스  (0) 2011.02.16