CarApp

자동차를 추상화하자
=자동차 설계도를 만들자
=자동차 클래스를 만들자


publid class Car 

     **멤버 상수

   public static final String AUTO="자동";
   public static final String MANUAL="수동";

 

    **멤버 변수

   String carModel;//차량모델 
   String carGear =AUTO;//차량 기어
   int carYear;//차 연식
   Person owner;//차량 소유주    어 이거 기본자료형 아니고 참조형이다!! 주의할것 인스턴스화필요해!

 

  **멤버 메소드

    void drive() {
         System.out.println(owner.name+"가(이)"+carModel+"을(를) 운전한다.");
     }////drive
     효율메소드(한꺼번에 초기화 하기)
      void initialize() {
            carModel="제네시스";
            carYear = 2022;
            owner = new Person();  //owner에 Person타입의 메모리생성
                       owner.name="가길동";    // owner에 값을 할당
                       owner.age=20;
                       owner.weight=70;
        }/////initialize
    정보출력용
     void printCar() {
              System.out.println("[차량 정보]");
              System.out.println("모델명:"+carModel);
              System.out.println("연식:"+carYear);
              System.out.println("기어:"+carGear);
              System.out.println("소유주");
              owner.printPerson();
               }///printCar

 


public static void main (String[ ] args)

Car car1 = new Car( ) ;      Car타입의 메모리 형성 (이름 car1)

                                       = stack에 car1를 만들고 heap에도 메모리를 생성

System.out.println("[멤버변수 초기화용 메소드(initialzize) 호출전]");  

=> 이땐 초기화 전 이기 때문에 아무것도 안뜸

System.out.println("[멤버변수 초기화용 메소드(initialzize) 호출후]");
    car1.initialize();
    car1.printCar();

 

Car car2 = new Car();    car타입의 메모리 하나 더 생성(이름은 ca2)

                                       = stack에 car2를 만들고 heap에도 메모리를 생성

car2.carModel = "포르쉐";     //heap에 생성된 class car에 값을 일일이 할당시키기
car2.carGear = Car.MANUAL;
car2.carYear = 2022;
car2.owner = new Person();   owner는 person 타입이라서 그거에 맞게 할당 즉 초기화 시킴
   car2.owner.name="박길동";
   car2.owner.age=30;
   car2.owner.weight=60;
car2.printCar();
car2.drive();

'학원 > JAVA' 카테고리의 다른 글

9.26 9-3일 차 추상화 최종 Grade  (0) 2022.09.26
9.26 9-2일 차 계좌 입/출금 & 통장정리  (0) 2022.09.26
9.23 8-3 class들어가기 abstraction  (1) 2022.09.25
9.23 8일 차 과제  (0) 2022.09.25
9.23 8-2일 차 (야구게임)  (1) 2022.09.25

+ Recent posts