[JAVA]/[자바 기초]
[자바 기초] Object 클래스
북방바다코끼리표범
2023. 8. 11. 11:37
복습
https://shins99.tistory.com/38
[자바 기초] 인터페이스 (Interface)
복습 https://shins99.tistory.com/37 [자바 기초] String 클래스 복습 https://shins99.tistory.com/36 [자바 기초] 템플릿 메서드 패턴 (Template Method Pattern) 복습 https://shins99.tistory.com/35 [자바 기초] 추상 클래스 복습
shins99.tistory.com
💡 학습목표
1. Object가 무엇인지 알아보자
2. 간단하게 예제를 풀어보자
Object 클래스
- 모든 클래스의 최상위 클래스
→ 모든 클래스는 Object 클래스에서 상속 받음 (extends 키워드 생략)
→ Object 클래스의 메서드 일부를 재정의해서 사용 가능
java.lang 패키지
- 프로그래밍시 import 하지 않아도 자동으로 imort됨
- import.java.lang.*;
- 많이 사용하는 기본 클래스들이 속한 패키지
- String, System...
toString() 메서드
- 객체 정보를 String 타입으로 바꿔 사용할 때 쓰임
equals() 메서드
- 두 객체의 주소 값이 동일하면 true 반환
- 주소값이 달라도 두 객체가 논리적으로 동일하면 true 반환
// 모든 클래스의 최상의 클래스는 Object 클래스이다.
public class Book extends Object {
private int bookId;
private String title;
private String author;
public Book(int bookId, String title, String author) {
super();
this.bookId = bookId;
this.title = title;
this.author = author;
}
public int getBookId() {
return bookId;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
// 필요하다면 toString 메서드를 재정의 할 수 있습니다.
@Override
public String toString() {
return this.bookId + ", " + this.title + ", " + this.author;
}
// 아주 간혹 코딩테스트 나울 수 있다.
// equals 메서드를 재정의 해보자.
// 실제 존재하는 책1, 책2 가정
// 책이름이 같고 저자이름 같다면 논리적으로 같은 책이라
// 판별하는 기능을 만들어 보자.
@Override
public boolean equals(Object obj) {
if(obj instanceof Book) {
// 여기안에서 검사
Book target = (Book)obj;
if(this.title == target.title) {
return true;
}
}
return false;
}
}
package ch13;
import java.util.List;
public class MainTest1 {
public static void main(String[] args) {
//List list;
// 자바에서 상속은 단일 상속만을 지원합니다.
// 단, Object 클래스를 제외하고
Book book1 = new Book(1, "홍길동전", "허균");
Book book2 = new Book(2, "홍길동전", "허균");
Book book3 = new Book(2, "흐르는강물처럼", "파울로코엘료");
if(book1 == book2) {
System.out.println("물리적으로 같아요");
} else {
System.out.println("물리적으로 달라요");
}
System.out.println("---------------------------");
if(book1.equals(book2)) {
System.out.println("같은 책입니다.");
} else {
System.out.println("다른 책입니다.");
}
}
}