커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
객체생성질문
Java 문법 종합반 v0
3주차
북마크
서*린
댓글
1
추천
0
조회수
16
조회수
16
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.




안녕하세요 객체 생성 부분에서


Car car = new Car();

SportsCar sportsCar = new SportsCar("Orion");


main파일 car파일 sports 파일 따로따로 있는데 생성자는 import없이 만들 수 있나요?

파일 만들때 파일이름과 class이름을 같게 하는게 이런 이유 때문인가요?


그리고 생성자를 만드는 이유에 대해서도 궁금합니다.


public class Main {

  public static void main(String[] args) {

    // 부모 클래스 자동차 객체 생성

    Car car = new Car();

    car.horn(); // 경적


    System.out.println();

    // 자식 클래스 스포츠카 객체 생성

    SportsCar sportsCar = new SportsCar("Orion");


    // 오버라이딩한 brakePedal(), horn() 메서드 호출

    sportsCar.brakePedal();

    sportsCar.horn();


  }

}

부모클래스

public class Car {


  String company; // 자동차 회사

  private String model; // 자동차 모델

  private String color; // 자동차 색상

  private double price; // 자동차 가격


  double speed; // 자동차 속도 , km/h

  char gear = 'P'; // 기어의 상태, P,R,N,D

  boolean lights; // 자동차 조명의 상태


  public String getModel() {

    return model;

  }


  public void setModel(String model) {

    this.model = model;

  }


  public double gasPedal(double kmh, char type) {

    changeGear(type);

    speed = kmh;

    return speed;

  }


  public double brakePedal() {

    speed = 0;

    return speed;

  }


  public char changeGear(char type) {

    gear = type;

    return gear;

  }


  public boolean onOffLights() {

    lights = !lights;

    return lights;

  }


  public void horn() {

    System.out.println("빵빵");

  }


}


자식클래스

public class SportsCar extends Car{

  String engine;

  public void booster() {

    System.out.println("엔진 " + engine + " 부앙~\n");

  }


  public SportsCar(String engine) {

    this.engine = engine;

  }


  @Override

  public double brakePedal() {

    speed = 100;

    System.out.println("스포츠카에 브레이크란 없다");

    return speed;

  }


  @Override

  public void horn() {

    booster();

  }

}





취소
 공유
취소
댓글 0
댓글 알림
나의얼굴