[Java11-1] Object 클래스 : 모든 Java 클래스의 최선조 클래스

임승현·2022년 10월 16일

Java

목록 보기
35/126

🐧Object 클래스 : 모든 Java 클래스의 최선조 클래스

→ Object 클래스로 생성된 참조변수에는 모든 클래스로 생성된 객체 저장 가능

package inheritance;

//자동차정보(모델명,소유자명)를 저장하기 위한 클래스
// => 클래스 선언시 상속받은 부모클래스가 없는 경우 기본적으로 Object 클래스를 자동으로 상속
// => 모든 Java 클래스는 무조건 Object 클래스를 상속받아 사용 가능

public class Car /* extends Object */ {
	private String modelName;
	private String userName;
	
	public Car() {
		// TODO Auto-generated constructor stub
	}

	public Car(String modelName, String userName) {
		super();
		this.modelName = modelName;
		this.userName = userName;
	}

	public String getModelName() {
		return modelName;
	}

	public void setModelName(String modelName) {
		this.modelName = modelName;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	
	//Object 클래스의 toString() 메소드를 오버라이드 선언
	// => Object 클래스의 toString() 메소드는 숨겨지고 Car 클래스의 toString() 메소드 호출
	// => VO 클래스에서는 필드값을 문자열로 변환하여 반환 처리되도록 작성 - 필드값 확인 
	@Override
	public String toString() {
		return "모델명 = "+modelName+", 소유자 = "+userName;
	}
}
package inheritance;

public class CarApp {
	public static void main(String[] args) {
		Car car=new Car("싼타페", "홍길동");
		
		System.out.println("모델명 = "+car.getModelName());
		System.out.println("소유자 = "+car.getUserName());
		System.out.println("======================================================");
		/*
		//Object.toString() : 참조변수에 저장된 객체정보(메모리주소)를 문자열로 변환하여 반환하는 메소드
		System.out.println("car.toString() = "+car.toString());
		//참조변수를 출력할 경우 자동으로 Object 클래스의 toString() 메소드 호출
		System.out.println("car = "+car);
		*/

		//Object 클래스의 toString() 메소드를 오버라이드 선언한 경우 자식클래스의 메소드 호출 
		System.out.println("car = "+car);
		System.out.println("======================================================");
		String name="홍길동";
		
		//String 클래스에서 toString() 메소드를 오버라이드 선언하여 String 클래스의 메소드 호출
		//String.toString() : String 객체에 저장된 문자열을 반환하는 메소드
		//System.out.println("name.toString() = "+name.toString());
		//참조변수 출력시 toString() 메소드 호출 생략 가능
		System.out.println("name = "+name);
		System.out.println("======================================================");
	}
}

0개의 댓글