[Java] #22 Object 클래스

febCho·2023년 12월 22일

Java

목록 보기
45/53

앞서 상속에 대해 배우며 모든 클래스에 자동으로 상속되는 'Object 클래스'에 대해 언급한 적이 있다.
여기서는 과연 Object 클래스는 어떠한 메서드를 가지고 있는지 알아보고자 한다.

package kr.s25.lang.object;

public class ObjectMain {
	public static void main(String[] args) {
		ObjectMain om = new ObjectMain();
		
		//클래스 정보 반환
		System.out.println(om.getClass());
		//클래스 명 반환
		System.out.println(om.getClass().getName());
		//해시코드 반환
		System.out.println(om.hashCode());
		//해시코드를 16진수로 변환
		System.out.println(Integer.toHexString(om.hashCode()));
		//참조값 반환
		System.out.println(om.toString());
		System.out.println(om);
	}
}
  1. Object 클래스를 자동으로 상속 받은 ObjectMain 클래스의 객체를 생성한 뒤, Object의 메서드를 사용할 수 있다.

  2. getClass() : class kr.s25.lang.object.ObjectMain
    패키지명까지 포함하여 결과 반환

  3. getClass().getName() : kr.s25.lang.object.ObjectMain
    클래스 정보에서 클래스명만 반환

  4. hashCode() : 925858445
    클래스의 해시코드 반환
    (해시코드 : 인스턴스를 생성할 때 메모리 주소를 변환해서 부여하는 코드)

  5. Integer.toHexString() : 372f7a8d
    해시코드를 16진수로 변환

  6. toString() : kr.s25.lang.object.ObjectMain@372f7a8d
    해당 객체의 참조값 반환

  7. System.out.println(om); : kr.s25.lang.object.ObjectMain@372f7a8d
    참조변수를 호출하면 자동적으로 toString() 메서드가 동작해서 참조값을 반환

  8. 위와 같은 메서드 중 toString()을 제외하고는 직접적으로 호출해 사용하는 경우가 거의 없으니 알아만 두면 된다.

profile
Done is better than perfect.

0개의 댓글