Java/패스트캠퍼스
Object 클래스
hs_developer
2022. 6. 9. 02:22
java.lang 패키지
-프로그래밍시 import 하지 않아도 자동으로 import 됨
-import.java.lang.*;
-많이 사용하는 기본 클래스들이 속한 패키지
-String, Integer, System..
모든 클래스는 Object 클래스를 상속 받는다
-java.lang.Object 클래스
-모든 클래스는 Object에서 상속 받고, Object 클래스의 메서드 중 일부는 재정의 해서 사용할 수 있음
-컴파일러가 extends Object를 추가함
class Student -> class Student extends Object
toString() 메서드
-객체의 정보를 String으로 바꿔서 사용 함
-String이나 Integer 클래스는 이미 재정의 되어 있음
toString() 메서드 재정의 예제
데미안, 헤르만 헤세
class Book
{
private String title;
private String author;
public Book(String title, String author)
{
this.title = title;
this.author = author;
}
public String toString()
{
return title + ", " + author;
}
}
public class BookTest {
public static void main(String[] args) {
Book book = new Book("데미안", "헤르만 헤세");
System.out.println(book);
}
}
Object 클래스의 메서드 활용
equals() 메서드
-두 인스턴스 주소 값을 비교 해 true/false 반환
-재정의 하여 두 인스턴스가 논리적으로 동일함을 구현 함
-인스턴스가 다르더라도 논리적으로 동일한 경우 true를 반환하도록 재정의 할 수 있음
clone() 메서드
-객체의 원본을 복제하는데 사용
-생성 과정의 복잡한 과정을 거치지 않고 복제할 수 있음
-clone() 메서드 사용 시 객체의 정보(멤버 변수 값 등..)가 동일한 또 다른 인스턴스가 생성되는 것이므로, 객체 지향 프로그램에서의 정보 은닉, 객체 보호 환점에서 위배될 수 있음
-cloneable 인터페이스 명시해서 사용