[Java] Object 클래스
java.lang 패키지
- 자바 프로그래밍에 필요한 기본 클래스를 제공
- java.lang 패키지에 존재하는 클래스를 사용할 때는 import 문이 필요 없음
주요 클래스
- Object, System, Math
- String, StringBuffer
- Thread
- Exception, Throwable, Error
- 포장 클래스 : Number, Integer, Double, Character, Boolean 등
Object 클래스와 주요 메소드
- 모든 클래스의 조상이 되는 클래스
- 모든 클래스는 자동으로 Object 클래스를 상속받음
- 클래스 계층 구조에서 루트가 되는 클래스
Object 주요 메소드
- protected Object clone( ) : 객체를 복제하여 반환
- public boolean equals(Object obj) : 두 객체 변수를 비교해서 두 변수의 참조값이 같을 때 true
- public int hashCode( ) : 객체를 식별하는 정수값을 반환
- public String toString( ) : 개체의 문자열 반환
String toString( ) 메소드
- 객체의 문자열 표현을 반환 : 클래스이름@16진수해시코드로 표현
- 문자열의 + 연산, System.out.print( ) 등에서 필용함
class MyClass1{ }
// 메인에서
MyClass1 my_class1 = new MyClass1( );
System.out.println(my_class1)
// 결과 : MyClass1@16진수해시코드
- 자식 클래스에서 재정의할 수 있음
- String, Integer 클래스 등에서 재정의되어 있음
boolean equals(Object obj)메소드
- 두 객체 변수를 비교하여 두 변수의 참조값이 같을 때 true를 변환
- Object 클래스에서 equals( )의 의미 : obj1.equals(obj2)의 뜻 obj1 == obj2
Integer x = new Integer(5);
Short a = 5;
System.out.println(x.equals(a)); // 결과 : false
- 자식 클래스에서 재정의할 수 있음
- String, Integer 클래스 등에서 재정의 되어 있음
Object clone() 메소드
- 객체를 복제하여 리턴함
- 'Cloneable 인터페이스를 구현한 클래스'의 객체만 clone( ) 메소드를 호출할 수 있음
- CloneNotSupportedException처리를 해줘야 함