본문 바로가기
Web/Java

Java(16) - Object 클래스

by SeleniumBindingProtein 2022. 1. 28.
728x90
반응형

1. Object 클래스 -- 모든 클래스의 최상위 클래스 

2. java.lang 패키지
    1) 프로그래밍시 import 하지 않아도 자동으로 import 됨.
    2) 많이 사용하는 기본 클래스들이 속한 패키지.
    3) String, System, Math, Integer....

3. 모든 클래스는 Object 클래스를 상속 받음.
    1) 모든 클래스는 Object 클래스의 메서드 중 일부는 재정의해서 사용할수 있음.
    2) 컴파일러가 extends Object를 추가함.
        class Book => class Book extends Object

4. toString() 메서드 
    1) 객체의 정보를 String으로 바꾸어서 사용할때 쓰임(재정의)            
    2) String, Integer 클래스는 이미 재정의 되어 있음.

5. equals() 메서드 
    1) 두 인스턴스의 주소 값을 비교하여 true/false 반환.
    2) 재정의하여 두 인스턴스가 논리적으로 동일함의 여부를 구현함.
    3) 인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할수 있음.    

6. hashCode() 메서드 
    1) hashCode()는 인스턴스의 저장 주소를 반환함.
    2) 힙메모리에 인스턴스가 저장되는 방식이 hash 방식임.
    3) 두 인스턴스가 같다는 것은?
        - equals()
        - hashCode()
        : 논리적으로 동일함을 위해 equals() 메서드를 재정의, 
          hashCode() 메서드도 재정의하여 동일한 hashCode 값이 반환되도록 함.

7. clone() 메서드 
    1) 객체의 원본을 복제하는데 사용하는 메서드 
    2) 해당 클래스의 clone() 메서드를 사용하는 것을 허용한다는 의미로
       cloneable 인터페이스를 명시해 줌.
    3) OOP의 캡슐화, 정보은닉 관점에서 위배될수 있음.  

 

728x90
반응형

'Web > Java' 카테고리의 다른 글

Java(20) - Generic 프로그래밍  (0) 2022.01.28
Java(18) - Class 클래스  (0) 2022.01.28
Java(15) - 추상클래스와 인터페이스  (0) 2022.01.28
Java(14) - 다형성  (0) 2022.01.28
Java(13) - review2  (0) 2022.01.28

댓글