[JAVA] Object 클래스

Object 클래스

java.lang 패키지


● 프로그래밍시 import 하지 않아도 자동으로 imort됨
● import.java.lang.*;
● 많이 사용하는 기본 클래스들이 속한 패키지
● String, System...

 

모든 클래스는 Object 클래스를 상속 받는다


● java.lang.Object 클래스
● 모든 클래스의 최상위 클래스는
● 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있음
● 컴파일러가 extends Object를 추가함
● class Student => class Student extends Object

 

패키지
관련된 클래스 및 인터페이스 등을 모아 놓은 폴더 패키지에 클래스들이 존재함
패키지이름은 소문자로 시작
.으로 패키지 구분
java.lang.System
java 패키지 아래에 lang패키지 system클래스

모듈 
관련 패키지들을 모아 놓은 것
프로그램 실행 시 필요한 모듈만 사용하여 메모리를 효율적으로 사용
모듈이름은 소문자로 시작하고 .으로 구분

import문
패키지에 있는 클래스들을 참조하기 위하여 사용
소스의 제일 위에 정의
import문을 사용하지 않을 경우 패키지명을 지정해야함

object 클래스 예제

클래스

package ch13;

 

// 모든 클래스의 최상위 클래스는 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;

}

 

 

 

// 필요하다면 toString 메서드를 재정의 할 수 있습니다.

 

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;

}

 

 

} // end of class

객체

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("다른 책입니다");

}

}

 

}

'JAVA' 카테고리의 다른 글

[JAVA] 인터페이스  (0) 2023.08.10
[JAVA] 추상 클래스  (0) 2023.08.10
[JAVA] 다형성  (0) 2023.08.09
[JAVA] 상속  (0) 2023.08.07
[JAVA] 배열  (0) 2023.08.04