JAVA

자바 객체지향 프로그래밍 - 15 [Object]

덴마크 당나귀 2023. 1. 13. 16:20
728x90

Object

  • 모든 클래스의 최상위 클래스
  • java.lang.Object 클래스
  • 모든 클래스는 Object 클래스에서 상속받고, Object 클래스의 매서드를 사용할 수 있고, Object 클래스의 일부 매서드를 재정의 해서 사용할 수 있다.

Object 매서드

toString() : 어떤 객체의 정보를 String 형태로 출력해야 할 때 쓰는 매서드 , 많은 클래스에서 재정의하여 사용.

equals() : 두 객의 동일함을 논리적으로 재정의 할 수 있음   ->  물리적으로 다른 메모리에 위치한 객체라도 논리적으로 동                     일함을 구현하기 위해 사용하는 매서드  cf ) == 이건 물리적 주소가 같은지를 물어보는 것.

               -  물리적 동일함 : 같은 주소를 가지는 객체

               -  논리적 동일함 : 같은 학번의 학생, 같은 주문 번호의 주문

hashCode() :  인스턴스가 저장된 가상머신의 주소를 10진수로 반환

               -  두개의 서로 다른 메모리에 위치한 인스턴스가 동일하다는 것은? 

                     - 논리적으로 동일 : equals() 반환값이 true

                     - 동일한 hashCode 값을 가짐 : hashCode() 의 반환 값이 동일

clone() : 객체의 복사본을 만듦,  기본틀로부터 같은 속성 값을 가진 객체의 복사본을 생성할 수 있음.

               - 객체지향 프로그래밍의 정보은닉에 위배되는 가능성이 있으므로 복제할 객체는 cloneable 인터페이스를 명시해                    야됨(인터페이스를 클래스에 명시해줘야됨. implements cloneable 해주는 것.)

 

 

728x90