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

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

 

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

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

 

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

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

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

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

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

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

 

3. toString() 메서드

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

 

Object 클래스를 재정의해보자

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

@개발자 김혜린

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