본문 바로가기
Java

[Java] Object 클래스

by 스응 2023. 2. 14.
728x90
728x90

java.lang 패키지

  - import 예약어를 사용해서 가져오지 않아도 자동으로 import되는 패키지

  ex) String, System, Object, Exception, ...

 

Object 클래스

  - 모든 클래스의 최상위 클래스

      → 모든 클래스는 Object 클래스에서 상속받음  (extends 키워드 생략)

      → Object 클래스의 메서드 중 일부를 재정의해서 사용할 수 있음

#  toString() 메서드

  - (기본) 객체의 정보를 String 타입으로 바꿔 사용할 때 쓰임

#  equals() 메서드

  - (기본) 두 객체의 주소 값이 동일하면 true를 반환함

  - (재정의) 주소 값이 다르더라도 두 객체가 논리적으로 동일하면 true를 반환함

      ex) String 객체에 equals() 메서드를 사용할 경우, 두 문자열의 내용이 같으면 true

 

// equals 재정의 예시 //

@Override
public boolean equals(Object obj) {
    // 만약 외부에서 주입된 값의 title과 author이 같다면 true 리턴
    // 방어적 코드 작성 : Book이라는 데이터 타입만 확인
    if (obj instanceof Book) {
        Book targetBook = (Book) obj;  // 다운 캐스팅		
        if (targetBook.title == this.title && targetBook.author == this.author) {
            System.out.println("같은 책입니다.");
            return true;
        }
    }
    return false;
}
320x100
반응형

'Java' 카테고리의 다른 글

[Java Swing] 배치 관리자 (Layout)  (0) 2023.02.14
[Java Swing] 기본 구조  (0) 2023.02.14
[Java] 인터페이스와 default 메서드  (0) 2023.02.13
[Java] String 클래스의 메서드  (0) 2023.02.13
[Java] 추상 클래스  (0) 2023.02.11

댓글