본문 바로가기
프로그래밍/Java

41. Java Object Class, equals()

by 꼼꼼한 에프큐피 2023. 2. 24.

1. Object Class

  1) 모든 클래스의 최고 조상이다.

  2) 오직 11개의 메서드만을 가지고 있다.

  3) notify(), wait() 등은 쓰레드와 관련된 메서드이다.

  4) finalize()는 거의 사용 안 하지만, 생성자의 반대되는 개념으로 객체가 소멸될 때 사용된다.

  5) clone()은 객체 자신의 복사본을 반환한다.

  6) getClass() 객체 자신의 클래스 정보를 담고 있는 Class 인스턴스를 반환한다. 즉, 설계도 객체로 모든 정보를 전달한다. -> 객체 생성, 객체 정보를 받을 수 있다. -> ReflectionAPI라고 한다.

  7) 오버라이딩을 안 해도 되지만, 내가 원하는 용도에 맞춰 쓰려면 오버라이딩 해서 사용하는게 좋다.

 

2. equals()

  1) 객체 자신(this)과 주어진 객체(obj)를 비교한다.

  2) 같으면 true를 반환, 다르면 false를 반환한다.

hashCode값이 다르기 때문에 False가 발생한다.

  3) 위 그림같은 경우 같은 값이지만, 주소가 다르기 때문에 False가 반환된다. 따라서 아래와 같이 수정해야 한다.

equals 오버라이딩 진행

  4) 인스턴스 변수(iv)의 값을 비교하도록 eqauls()를 오버라이딩 해야 한다.

'프로그래밍 > Java' 카테고리의 다른 글

43. Java StringBuffer  (0) 2023.02.26
42. Java String 클래스  (0) 2023.02.26
40. Java hashCode(), toString()  (0) 2023.02.24
39. Java 프로그램 오류, 예외처리(try-catch)  (0) 2023.02.24
38. Java 익명클래스  (0) 2023.02.23

댓글


"); wcs_do();