Java 입문 | java.lang 패키지 | Object 클래스


Object 클래스는 자바 프로그램에서 최상의 클래스이다.

Object 주요 메소드

메소드 설명
Object clone() 객체를 복제하기 위해 사용하는 메소드이다.
boolean eqauls (Object object) 두 개의 객체가 같은 지를 비교하여 같으면 true, 아니면 false를 반환한다.
void finalize() 쓰레기 수집(garbage collection) 기능이 수행되지 전에 호출되며 객체 점유하고 있던 자원드를 해제하는데 사용되는 메소드 이다.
Class getClass() 객체의 클래스명을 Class형 객체로 반환한다.
int hashCode() 호출한 객체와 연관된 hash 코드를 얻는다.
String toString() 현재 객체의 문자열 표현을 반환한다.
void notify() 대기중인 스레드 중에 하나의 스레드를 다시 시작시킨다.
void notifyAll() 대기중인 모든 스레드를 다시 시작시킨다.
void wait() 실행을 중지하고 대기 상태로 간다.
void wait(long timeout) 지정된 시간이 경과 할 때까지, 현재의 thread를 대기시킨다.
void wait(long timeout, int nanos) 다른 스레드가 이 객체에 대해 notify() 또는 notifyAll()를 호출하거나 다른 스레드가 현재 스레드를 인터럽트하거나 특정 시간동안 실시간이 경과 할 때까지 현재 스레드를 대기시킨다.

equal() 메소드는 두 개의 객체가 가지고 있는 데이터를 비교하여 같으면 true 다르면 false를 반환하는 메소드 이다.

toString() 메소드는 객체가 가지고 있는 문자열 표현을 반환하기 위해서 사용한다. 대부분의 클래스에서 toString() 메소드를 오버라이딩하여 가지고 있는 객체의 정보를 문자열로 제공한다.

Object 예제

예제

아래 예제는 객체의 toString() 메소드를 재정의한다.

package com.devkuma.tutorial.java.lang;

public class User {

    private Integer id;
    private String name;
    private String email;

    public User(Integer id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    public String toString() {
        return "id:" + id + ", name=" + name + ", email=" + email;
    }

    public static void main(String[] args) {
        User user = new User(1, "devkuma", "devkuma.com@gmail.com");
        System.out.println(user.toString());
    }
}

실행 결과는 아래와 같다

id:1, name=devkuma, email=devkuma.com@gmail.com