오늘 한 일

내배캠 자바 개인 과제

- 키오스크 과제 추가 스펙 구현 (총주문, 금액 출력 + 옵션 선택)

객체지향 이모저모

- 인터페이스 vs 추상클래스 : 둘 다 큰 분류로 묶는 것은 동일하나 추상클래스는 본질적인 포함관계, 인터페이스는 기능적인 분류로 묶는다. 번개 강의해주신 튜터님에게 감사(기도 모양).

- 부모 클래스에 private 필드를 선언하면 자식 클래스라도 접근할 수 없다. 최소한 protected로 선언해줘야 자식 클래스에서 접근 가능.

- 자바에는 내가 C++에서 많이 썼던 pair 자료구조가 없었다. 원래는 class 따로 만들어서 이용했는데 java8부터 지원되는 것을 확인

 

느낀 점

인터페이스와 추상클래스 차이점이 모호했는데 감이 잡힌 느낌이다. 주말에 이거 + 접근 제어자에 관해서 포스팅 하나 남겨야겠다.

'TIL' 카테고리의 다른 글

[2023.10.27]  (0) 2023.10.27
[23.10.25]  (0) 2023.10.25
[23.10.24]  (0) 2023.10.24
[23.10.23]  (0) 2023.10.23
[23.10.19]  (0) 2023.10.19

오늘 한 일

내배캠 자바 개인 과제 필수사항 완료

- 키오스크 과제 필수 스펙 구현 완료

- There is no default constructor available in 'parent class' 에러 해결.  부모 클래스에 생성자가 있다면 본인 생성자를 호출하기 전 부모 클래스 생성자를 호출해주어야 한다. 아래 super(name, description)이 필수.

public class Menu {
    private String name;
    private String description;
    public Menu(String name, String description) {
        this.name = name;
        this.description = description;
    }
}
public class Product extends Menu{
    String name;
    String description;
    int price;

    public Product(String name, String description, int price) {
//        this.name = name;
//        this.description = description;
        //이렇게 하면 에러.
        super(name, description);
        this.price = price;
    }
}

 

 

객체지향 4대 원칙 공부

- 추상화, 상속, 다형성, 캡슐화  : 과제를 구현은 했으나 객체 지향적으로 했는지 모르겠다고 하니 고수 팀원 분이 블로그 글을 추천해주셨다.

 

느낀 점

과제를 완성하긴 했는데 Menu, Product 클래스는 거의 구조체(struct)나 다름없고 주요 로직은 한 클래스에 몰아둬서 자바스크립트와 다름이 없다. 튜터님께도 여쭤봤는데 아직 감이 안 잡힌다

과제 해설이나 정답이 나오면 공부한 4대 원칙을 유념하면서 감을 잡아봐야겠다.

'TIL' 카테고리의 다른 글

[2023.10.27]  (0) 2023.10.27
[23.10.25]  (0) 2023.10.25
[23.10.24]  (0) 2023.10.24
[23.10.23]  (0) 2023.10.23
[23.10.20]  (1) 2023.10.20

+ Recent posts