Java 17(Object 클래스)

Kang.__.Mingu·2024년 5월 3일
0

Java

목록 보기
19/108

Objct 클래스

  • 클래스 작성시 상속받은 부모클래스가 없는 경우 무조건 Object 클래스를 상속 받아 사용
  • 모든 Java 클래스는 Object 클래스를 상속받기 때문에 Object 클래스의 메소드 호출 가능
  • Object 클래스 - 모든 Java 클래스의 부모클래스
  • Object 클래스로 생성된 참조변수에는 모든 Java 클래스로 생성된 객체 저장 가능
  • 메소드의 반환형이 Object 클래스인 경우 메소드에서 모든 Java 클래스로 생성된 객체 반환 가능

Car

public class Car /*extends Objec*/ {
    private String modelName;
    private String userName;

    public Car(String modelName, String userName) {
        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() 메소드는 숨겨지고 자식클래스의 toString() 메소드만 사용
    // => 객체의 필드값을 문자열로 반환하는 명령 작성
    @Override
    public String toString() {
        return "modelName: " + modelName + ", userName: " + userName;
    }
}

CarApp

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 객체를 참조하여 Object 클래스의 toString()
        //메소드 자동 호출 - toString() 호출 생략 가능
        //System.out.println("car = "+car);

        //묵시적 객체 형변환에 의해 Object 클래스의 toString() 메소드가 아닌 Car 클래스의
        //toString() 메소드가 자동 호출되어 Car 객체의 필드값을 반환받아 출력 처리
        System.out.println("car = " + car);
        System.out.println("============================================");
        //문자열이 저장된 String 객체를 생성하여 String 객체의 메모리 주소를 String 클래스의 참조변수에 저장
        String name = "홍길동";

        //String.toString() : String 객체에 저장된 문자열을 반환하는 메소드
        // => Object 클래스의 toString() 메소드를 오버라이딩 선언한 메소드
        System.out.println("name.toString() = "+name.toString());

        //String 객체가 저장된 참조변수를 출력할 경우 String 클래스의 toString() 메소드가
        //자동 호출되어 String 객체를 저장된 문자열을 반환받아 출력
        System.out.println("name.toString() = " + name);
        System.out.println("============================================");
    }
}
profile
최선을 다해 꾸준히 노력하는 개발자 망고입니당 :D

0개의 댓글