본문

[2017.08.21] 14. Object 클래스

Object 클래스는 '모든 클래스의 공통된 조상 클래스' 이다.


'공통된'이라는 의미는 모든 클래스는 Object 클래스를 상속한다는 것이다.


모든 클래스가 사용 가능한 Object 클래스의 대표적인 메소드들을 살펴보자.


1. toString 메소드 - 클래스를 문자화 시키는 메소드

※ 변수명만 호출시 자동으로 toString 메소드 호출

1
2
3
4
5
Object obj = new Object();
 
// 같은 결과
System.out.println(obj);
System.out.println(obj.toString());
cs



2. equals 메소드 - 동일한 객체인지 확인하는 메소드

※ equals 메소드를 이해하기 위해서는 Reference equals와 Object equals를 이해하는 것이 중요하다. 

(Reference equals VS Object equals - 추후)


또한, equals와 hashCode 메소드는 밀접한 관계가 있다. 



3. clone 메소드 - 객체를 복제하는 메소드

※ clone 메소드를 구현하기 위해서는 해당 클래스가 Clonable 인터페이스를 구현해야한다.

(Clonable 인터페이스는 비어있다. 이유는 해당 클래스가 Clone이 가능하다는 것을 명시하기 위함)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Main {
    public static void main(String[] args) {
        O o = new O();
        try {
            o.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}
 
class O implements Cloneable {
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
cs


또한, 추가로 알 수 있는 것은 CloneNotSupportedException은 try/catch 처리를 하는 것으로 보아 RuntimeException을 상속하지 않는 unchecked 예외라는 것이다.



#Object 클래스 #Object Class #Object #최상위 클래스

공유

댓글