Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[이건우]과제 제출합니다. #1

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

leegunwoooo
Copy link

@leegunwoooo leegunwoooo commented Jun 18, 2024

1. 구현 여부

기능 요구사항

  • 도서관은 책을 가질 수 있습니다.
  • 도서관은 생성될 때 생성자를 이용해 책이 추가된 채로 생성될 수 있습니다.
  • 책은 다음과 같은 속성을 지닙니다.
    • 책 제목, 저자, ISBN(국제표준도서번호), 대출가능여부
  • 도서관 이용자는 도서관에서 책을 빌릴 수 있습니다.
  • 도서관 이용자는 빌린 책을 반납할 수 있습니다.
  • 도서관은 현재 책들의 목록을 대출 가능 도서와 대출 불가능 도서로 나누어 조회할 수 있습니다. 조회할 때는 다음 속성을 출력해야 합니다.
    • 책 제목, 저자, ISBN, 대출자의 이름
  • 도서관 이용자는 현재 빌린 도서를 조회할 수 있습니다.

제한 사항

  • 한 사람은 최대 2권까지의 책을 빌릴 수 있습니다.
  • 이미 다른 사람이 대출한 책은 반납되기 전까지 대출할 수 없습니다.
  • 이용자는 자신이 빌리지 않은 책을 반납할 수 없습니다.

코드 작성 시 유의사항

  • 클래스별로 파일을 구분해야합니다.
  • 캡슐화가 이루어져야 합니다.
  • 패키지, 변수, 메서드 작성시에는 꼭 그에 알맞은 네이밍 컨벤션을 따라야 합니다.

테스트

  • (진행한 테스트 케이스를 모두 적어주세요)

2. 진행 중 느낀점

과제를 진행하며 한 고민들 *

과제를 진행하며 극초반 객체들 속성과 메서드들을 어떻게 만들어야할지 고민하느라 시간을 꽤 사용하였다.

발생한 이슈와 해결 방법

당시 내가 캡슐화의 개념을 몰라서 구글링을 통해 private 와 this를 알게 되었다.

질문

  • (질문을 모두 적어주세요)
  • node.js 할줄 아시나요

메서드로 책을 빌리는 기능과 반납하는 기능을 넣었다.
도서관에 책을 넣는 기능과 책이 꽉차면 추가하지 못하는 기능, 책을 빌릴때 2권 초과면 대출불가인 기능을 구현
이용자가 책을 2권을 빌릴 수 있기에 이용자를 선언할 때 빌릴 수 있는 책을 배열로 2권 선언
borrowBook 메서드는 책을 빌린 권수가 2권보다 적다면 책을 빌리도록 메서드를 만들었다.
returnBook 메서드는 빌린책과 반납할려는 책이 같다면 반납한 책을 대출 할 수 있도록 바꾸었다.
각 조건들을 실행하도록 코드를 짜 도서관 생성, 이용자 생성, 도서 추가, 대출
초과대출시도,반납,대출, 이미 대출된 도서대출시도, 도서반납,도서대출,
대출하지 않은 책 반납시다, 전체조회 코드를 짜주었다.
@cabbage16
Copy link
Member

🙌 @leegunwoooo 님 안녕하세요

밤돌이로 백엔드 개발팀입니다.

먼저, 과제 전형 기간 동안 수고하셨습니다!
과제를 수행하시면서 많이 배우셨길 바랍니다.

과제를 준비하면서 얻어가셨길 바랐던 것은

  1. 자기주도적으로 공부하기
  2. 객체지향적으로 설계하기
  3. 깃허브 사용법 익히기

인데요, 다들 어느정도 얻어가신 것 같아 뿌듯하네요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants