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

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

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


Main 클래스 코드 상carArray[0] = car1;로 작성되면 carArray[0]에 car1변수로 호출된 메서드 정보 모두 포함되는 건가요?


Main

package week03;


public class Main {
    public static void main(String[] args) {
        System.out.println(car1); // week03.Car@2f4d3709 -> car1의 주소값*/


        Car[] carArray = new Car[3];
        Car car1 = new Car();
        car1.changeGear('P');
        carArray[0] = car1;


        Car car2 = new Car();
        car2.changeGear('N');
        carArray[1] = car2;


        Car car3 = new Car();
        car3.changeGear('D');
        carArray[2] = car3;


        for (Car car: carArray) {
            System.out.println("car.gear = " + car.gear);
        }
    }
}

Car

package week03;
/*우리가 클래스를 만들기 위해서는 4가지 STEP이 필요합니다.
* 1. 만들려고 한느 설계도를 선언합니다.(클래스 선언)
* 2. 객체가 가지고 있어야할 속성(필드)을 정의합니다.
* 3. 객체를 생성하는 방식을 정의합니다.(생성자)
*    → constructor
* 4. 객체가 가지고 있어야할 행위(메서드)를 정의합니다.*/
public class Car {
    // <필드 영역>


    // 1) 고유 데이터 영역
    String company; // 자동차 회사
    String model = "Gv80"; // 자동차 모델
    String color; // 자동차 색상
    double price; // 자동차 가격


    // 2) 상태 데이터 영역
    double speed; // 자동차 속도, km/h
    char gear; // 기어상태(P, R, N, D)
    boolean light = true; // 자동차 조명의 상태


    // 객체 데이터 영역
    Tire trie = new Tire();
    Door door;
    Handle handle;


    // <생성자 영역>
    // 생성자 : 처음 객체가 생성될 때(instance화) 어떤 로직을 수행해야 하며, 어떤 값이 필수로 들어와야 하는지 정의!
    public Car() {
        // logic(로직)
        // 기본 생성자 : 생략이 가능
        System.out.println("생성자가 호출 되었습니다! 객체가 생성됩니다."); // main에서 new 키워드로 호출하면 예) Car car1 = new Car(); <- 이런 형태로 호출되면 알 수 있도록 하는 것이다.
    }


    // <메소드>
    // gasPedal
    // input : km/h
    // output : speed
    double gasPedal(double kmh) {
        speed = kmh;
        return speed;
    }


    // brakePedal
    // input : 없음
    // output : speed
    double brakePedal() {
        speed = 0;
        return speed;
    }


    //changeGear
    // input : gear(char type)
    //output : gear
    char changeGear(char type) {
        gear = type;
        return type;
    }


    // onOffLight
    // input : 없음
    // output : light(boolean)
    boolean onOffLight() {
        light = !light;
        return light;
    }


    // horn(경적)
    // input : 없음
    // output : 없음
    void horn() {
        System.out.println("빵빵!!!");
    }
}


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