Java-Object class

김동규·2022년 11월 11일
0

JAVA

목록 보기
36/38

java.lang 패키지는 자바에서 가장 기본적인 동작을 수행하는 클래스들 을모아놓은 패키지이다.
따라서 자바에서는 java.lang 패키지의 클래스들은 import 문을 사용하지 않아도 클래스 이름만으로 바로 사용할 수 있는데,
java.lang 패키지 중에서도 가장 많이 사용되는 클래스는 바로 Object 클래스이다.

Object 클래스는 모든 자바 클래스의 최고 조상 클래스가된다.
따라서 자바의 모든 클래스는 Object 클래스의 모든 메소드를 바로 사용할 수 있다.
이러한 Object 클래스는 필드를 가지지 않으며, 총 11개의 메소드만으로 구성되어 있다.

여기서 중요한 메소드 3가지만 알아보도록 하자.

toString() 메소드

toString() 메소드는 해당 인스턴스에 대한 정보를 문자열로 반환.

이때 반환되는 문자열은 클래스 이름과 함께 구분자로 '@'가 사용되며, 그 뒤로 16진수 해시 코드(hash code)가 추가된다.

16진수 해시 코드 값은 인스턴스의 주소를 가리키는 값으로, 인스턴스마다 모두 다르게 반환된다.

toString기능을 오버라이딩해 사용하는경우가 많다.

다음 예제는 toString() 메소드를 이용하여 인스턴스의 정보를 출력하는 예제이다.

//예제
Car car01 = new Car();
Car car02 = new Car();


System.out.println(car01.toString());
System.out.println(car02.toString());

Car@15db9742
Car@6d06d69c

equals() 메소드

equals() 메소드는 해당 인스턴스를 매개변수로 전달받는 참조 변수와 비교하여, 그 결과를 반환한다.

이때 참조 변수가 가리키는 값을 비교하므로, 서로 다른 두 객체는 언제나 false를 반환하게 된다.

equals 오버라이딩해 조건을달아 사용하는경우가 많다.

다음 예제는 equals() 메소드를 이용하여 두 인스턴스를 서로 비교하는 예제입니다.

//예제
Car car01 = new Car();
Car car02 = new Car();

 

System.out.println(car01.equals(car02));
car01 = car02; // 두 참조 변수가 같은 주소를 가리킴.
System.out.println(car01.equals(car02));

false
true

hashcode()

향후 추가 하자

profile
HigasiHosi

0개의 댓글