Burninghering's Blog
article thumbnail
Published 2022. 1. 26. 13:20
4-1.Object 클래스 JAVA

1. Object 클래스 - 모든 클래스의 최상위 클래스

 

1.1. 1. java.lang 패키지안에 들어있음

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

 

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

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

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

그렇기 때문에 모든 클래스는 Object 클래스 안의 메서드들을 사용할 수 있고, 

필요에 의해 재정의할 수 있다.

(Final 클래스는 재정의 불가능)

 

1.3. 3. toString() 메서드

  • 객체의 정보를 String으로 바꾸어서 사용할 때 쓰임(참조 변수의 값을 String으로 바꿈)
  • String이나 Integer 클래스는 이미 재정의 되어 있음
  • toString()메서드 재정의 예

 

Object 클래스를 재정의해보자

<java />
package ch1; class Book{ private String title; private String author; public Book(String title, String author) { this.title=title; this.author=author; } @Override public String toString() { //toString() 오버라이딩해서 재정의하기 return title+","+author; } } public class BookTest{ public static void main(String[] args) { Book book=new Book("데미안","헤르만 헤세"); System.out.println(book.toString()); String str = new String("test"); //toString()을 이미 오버라이딩해서 쓰고 있음 System.out.println(str); //toString()이 뒤에 제외됨 } }

 

원래 객체를 그냥 출력하면,

"패키지.클래스 이름@메모리 위치(JVM이 준 가상 메모리 값)"

로 나왔으나

 

toString 클래스를 사용하면

객체의 이름만 나오게 된다.

 

profile

Burninghering's Blog

@개발자 김혜린

안녕하세요! 반갑습니다.