Object 클래스
자바의 여러 클래스들에 대해 알아볼것이다.
JDK 에서 제공하는 많은 라이브러리가 있는데 다 볼수없지만 프로그램 할 때 중요하게 쓰이거나 활용도가 높은
클래스들 위주로 볼것이다.
기본클래스 이기도 하고 많이 쓰는 클래스 이다.
제네릭 프로그램 , 컬렉션 프레임워크 등 자바 JDK랑 관련된 자바 프로그램을 좀더 유연하게 사용할수있다.
Object 클래스
모든 클래스의 최상위 클래스
Java.lang.Object 클래스에 속한다.
모든 클래스는 Object 클래스에서 상속받음
모든 클래스는 Object 클래스의 메소드를 사용할수 있다
모든 클래스는 Object 클래스의 일부 메소드를 재정의 하여 사용할수 있다
모든 클래스는 extends Object 하게 되어있다 컴파일러가 Object 키워드를 넣어주게 된다.
Object 클래스는 java.lang 패키지 안에있는 클래스이다. 최상위 클래스 이고 모든 클래스는 Object 클래스를 사용할수 있다.
일부 정의된 메소드들을 모든클래스가 사용할수있다.
왜 일부? Final 로 정의된 메소드들이 있는데 하위클래스에서 재정의 할 수 없는데 final 로 선언된 메소드들은 하위클래스가 사용할수없다.
Java – jdk – lib (라이브러리) – src.zip
src 압축을 풀수있는데 열어보면 java jdk 자바 관련 소스들을 볼수 있다.
Java – java.lang 폴더에 그동안 썻던 String.java 소스들을 볼수있다.
가장 많이 쓰는 클래스들을 볼수 있다. 이중에 Object.java가 있다.
package object;
class Book {
String title;
String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
// Obejct 클래스의 toString 재정의
public String toString() {
return author + " , " + title;
}
}
public class ToStringTest extends Object { // Object 가 생략되어 있다 컴파일러가 붙여줌
public static void main(String[] args) {
Book book = new Book("태백산맥","공소영");
System.out.println(book); // 패키지.클래스이름 @ 해시코드 -> toString() 재정의
String str = new String("토지");
System.out.println(str); // 생성자에 넣어준 문자열이 출력된다.
// String 클래스 안에 이미 toString()이 정의되어 있어서 그렇다.
// str.toString() 이 불린다. Object의 메소드이다.
// Object 를 재정의해서 String 클래스안에 캐릭터의 배열이 출력되게 해놓았다.
}
}
String str = new String("토지")
System.out.println(str) -> toString 재정의한 반환값이 나온다.
'JAVA Programming' 카테고리의 다른 글
[52] equals() 와 hashCode() 재정의 (0) | 2020.07.17 |
---|---|
[51] Object 최상위클래스 의 toString() , equals() , hashCode() (0) | 2020.07.17 |
[48] 인터페이스 요소들 (0) | 2020.07.17 |
[45] 인터페이스 스케쥴러 , 다형성 (0) | 2020.07.16 |
[41] final 템플릿메소드 활용하기 + 다형성이해-자식 , 추상클래스 (0) | 2020.07.16 |