먼저 평소에 해보고 싶었던 프로젝트를 해보려고 했습니다. 정책 관리 사이트 인데 평소에 자신의 상태를 기준으로 받을 수 있는 정책을 받지 못하는 경우가 많아서 시 단위로 api를 받아와 유저가 자신의 정보를 입력하면 그에 맞는 정책을 알려주는 사이트를 만드려고 했습니다.
이번 과제도 해당 아이디어로 해보려고 했으나, 2차 상속을 해결하지 못하였습니다.
상속의 개념이 Is-a 이고 참새가 새를 상속받았을 때 참새는 새다 를 만족시켜야 함을 깨달았습니다.
그로 인해 제가 생각했던 정책 관리 사이트 등은 상속이 아닌 포함 관계임을 깨달았습니다.
포함은 has-a 로 상속과는 달랐습니다. 또한 정책 관리 사이트에서 소득별관리, 나이별 관리 등은 상속보다는 enum 으로 처리할 수 있었습니다. 행동에 따른 차이가 두드러지지 않는다면 상속을 쓰는 것은 큰 의미가 없다고 생각했습니다.
주제가 바뀔 수도 있다고 생각해서 추후 개인프로젝트는 어떻게 될지 모르지만 일단 이번 상속을 넣을 수 있는 과제를 하게 되었습니다.
중간에 intelliJ가 렉이 걸려서 파일들이 삭제가 되었습니다.ㅜㅜ 주석들이 다 없어져서 최대한 노션에 설명을 적어놓았습니다.
처음에 회원 등급을 상속하는 코드를 짜보려고 했습니다.
User → VipUser → VVipUser
하지만 이렇게 하려니깐 실제 DB를 사용하지 않고 csv로 짤려고 했던 저로써는 csv를 접근하여 바꾸는 것은 옳지 못한 방법이라고 생각했습니다. 제가 생각한 이유는 다음과 같습니다.
이러한 이유로 다른 방법을 찾다가 굳이 상속을 받지 않고 그냥 주문 수가 늘어나고 주문이 들어오면 그 때 주문 수를 보고 등급을 결정하면 되는 것이였습니다.
즉 주문을 하게 되면 → 주문 수 확인 → 등급 확인 → 등급에 따른 주문 완료
