카테고리 없음

20240729 개발공부

llmmhh 2024. 7. 29. 21:58

오늘의 공부 내용!

 

1)  선언, 생성을 할 때, 조심할 점!

do - while 문에서 반복문 안에 

String textString = sc.nextLine();

이라고 선언과 동시에 값을 입력받게 했는데

오류가 났다.

선언,생성을 if, while 문 처럼 구분이 된 공간에서 하게 된다면 그 공간에서만 선언이 되기 때문에

반복문이 시작되기 전에 선언해주는 방법으로 사용하면 된다.

String textString;
String removeString;

위쪽에 이런 식으로 미리 선언해주는 방식으로 수정해주니 문제가 해결됐다.

 

2) 상속관계와 포함관계 및 자바 작동하는 원리 이해한대로 정리하기

상속관계는 물려받아 사용하는것. 

public class 자식클래스 extends 부모클래스 { } 형태로 쓰인다.

public class 불고기버거 extends 햄버거 {}  이런 느낌이고,

기본적인 틀을 제공 받아 세부 내용을 수정하기 참 좋다.

햄버거에 공통적으로 들어가는 재료를 부모클래스 값으로 지정하고

자식클래스에서 조금씩 수정해서 각각 다른 버거를 만드는 느낌

 

포함관계는

객체에 구성요소를 정리해 놓은 느낌이다.

햄버거의 빵을 예로 들면 

public class 빵 {

   String company; // 회사이름

   double price; // 빵 가격

 

   // 빵의 생성자가 요구하는 값이 2개다. 회사명, 가격을 입력해야한다.

   public 빵(String company, double price) { 

        this.company = company;    // this 로 이름이 중복되지 않게 지정해준다. 이 빵의 회사는 여기다!

        this.price = price;                  // this 로 가격이 중복되지 않게 지정해준다. 이 빵의 가격이 여기다!  

   } 

 }

배우면서 드는 생각은 햄버거라는 클래스 자바 클래스에 다 넣어도 될 내용이지만 따로 관리하기 위해

쪼개놓은 느낌도 있다. ( 포함관계 )

 

3) 내가 입력하는 값은 어디에 적용되는 것인지!

Main 에서 입력하는 값들이 어디에 적용되는 건지 확인해봤다.

3주차 강의 참고.

public Car(String model, String color, double price) {
    this.model = model;
    this.color = color;
    this.price = price;
}

Car.java 에 정리되어있는 Car 생성자다.

Car를 생성할 때, 3개의 값을 받는다고 써있다.

Car car = new Car("GV80", "Black", 50000000);

맨 앞에 Car 는 타입

Car 타입의 car 라는 객체를 만들었다. (관련된 정보는 Car.java의 public class Car 에서 가져온다!)

객체에 입력된 값은 ("GV80", "Black" , 50000000) 이다.

 

Tire[] tires = new Tire[]{
        new Tire("KIA", 150000), new Tire("금호", 150000),
        new Tire("Samsung", 150000), new Tire("LG", 150000)
};

 

배열 성성.

public Tire(String company, double price) {
    this.company = company;
    this.price = price;

4개의 Tire를 Tire.java의 생성자를 이용해서 만들었다.

 

이렇게 만들면서 넣는 정보들은 Car.java , Tire.java에 추가 되는것이 아니라!!

위에서 생성한 새로운 자동차 객체에 적용된다. (오늘 복습하며 느낀점 핵심!!!!!!)

car.setTire(tires);
car.setDoor(doors);
car.setHandle(handle);

이런 메서드도 마찬가지.

Car.java의 메서드를 사용해서 새로운 객체에 값을 적용하는것!!! (이런게 너무 헷갈렸다)