[Java 클래스] Object 클래스

2022. 2. 2. 23:09·Java & Kotlin

java.lang 패키지

  • String, Integer, System ... 등의 기본 클래스가 포함된다.
  • import java.lang.* 해주지 않아도 자동으로 import 되는 패키지

 

Object 클래스

  • java.lang.Object 클래스
  • 모든 클래스의 최상위 클래스이다 ( = 모든 클래스는 Object 클래스를 상속받는다.)
  • 모든 클래스는 Object에 정의된 메서드를 사용할 수 있고 일부는 필요에 의해 재정의 할 수 있다.
  • 재정의 할 수 없는 메서드는 final로 선언되어 있다.
  • 컴파일러가 자동으로 extends Object를 추가해준다.

 

toString 메서드

  • 객체의 정보를 String으로 바꾸어 사용할 때 쓰인다.
  • 예시) 참조 변수를 String으로 바꾸어 참조 값(e.g. ch03.Student@2f92e0f4)을 표현할 때 이용되는 메서드이다.
  • String 또는 Integer 클래스는 재정의 되어 있다.

 

예제 코드

Object 클래스의 메서드를 직접 재정의해서 써보기

 

BookTest.java
package ch01;

class Book {
	
	private String title;
	private String author;
	
	public Book(String title, String author) {
		this.title = title;
		this.author = author;
	}
    
}

public class BookTest {

	public static void main(String[] args) {
		
		Book book = new Book("데미안", "헤르만 헤세");
		
		System.out.println(book);	// 가상 메모리 값 출력
		
		String str = new String("test");
		System.out.println(str);	// 문자열 출력 (오버라이딩 됨)
	}

}

 

수행 결과

같은 인스턴스이지만 String 클래스는 이미 재정의 되어 있으므로 문자열을 출력한다.

ch01.Book@2f92e0f4
test

 

Book 클래스에 toString 오버라이딩 코드 추가
@Override
public String toString() {	// 직접 toString 오버라이딩
    return title + "," + author;
}

 

수행 결과
데미안,헤르만 헤세
test
저작자표시 비영리 변경금지 (새창열림)

'Java & Kotlin' 카테고리의 다른 글

[Java 클래스] Object 클래스의 메서드 활용  (0) 2022.02.03
[Java 객체지향] 인터페이스 구현 예제 프로그램 (상담원 연결 구현)  (0) 2022.02.02
[Java 객체지향] 추상 클래스와 템플릿 메서드 활용 예제 프로그램 (GameLevel 구현)  (0) 2022.02.02
'Java & Kotlin' 카테고리의 다른 글
  • [Java 클래스] 자바의 문자열 관련 클래스
  • [Java 클래스] Object 클래스의 메서드 활용
  • [Java 객체지향] 인터페이스 구현 예제 프로그램 (상담원 연결 구현)
  • [Java 객체지향] 추상 클래스와 템플릿 메서드 활용 예제 프로그램 (GameLevel 구현)
Sue
Sue
개발 공부 로그
  • Sue
    Sue's devlog
    Sue
  • 전체
    오늘
    어제
    • 분류 전체보기 (122)
      • Algorithm (2)
      • WEB (8)
      • Java & Kotlin (83)
      • Spring (26)
      • Database (1)
      • Infra (0)
      • Git (1)
      • devlog (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Sue
[Java 클래스] Object 클래스
상단으로

티스토리툴바