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

[황성민] 과제 제출합니다 #2

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

Conversation

hll2071
Copy link

@hll2071 hll2071 commented Jun 18, 2024

1. 구현 여부

기능 요구사항

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

제한 사항

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

코드 작성 시 유의사항

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

테스트

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

2. 진행 중 느낀점

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

  • (고민들을 모두 적어주세요)
    이번에 자바를 처음 접해봤는데 이걸 어떻게 하지 싶은 고민이 컸고 무엇부터 시작해야 하고 어디서 배워서 해야, 객체지향은 또 어떻게 써야 하지? 라는 고민들이 있었습니다

발생한 이슈와 해결 방법

  • (발생한 이슈와 해결 방법을 모두 적어주세요)
    가장 큰 이슈는 제가 자바를 쓸 줄 모른다는 것이었습니다. 캡슐화, 클래스, 객체 아무것도 모르던 상태로 이번에 처음 자바를 사용해보아 모르는 게 너무 많아서 C언어를 쓰듯이 코드를 모두 써봤는데 오류만 40~50개씩 나오는 이슈가 있었습니다.
    해결방법은 먼저 구글링을 매우 많이 했습니다. 잠도 줄여가며 검색하고 검색해서 나오지 않던 것들은 교내 프로그래밍 선생님께 질문도 하며 자바를 배웠습니다. 이렇게 해도 해결되지 않던 것들은 GPT를 이용하는 것을 제가 모르는 부분이 이해가 될 때까지 반복했습니다.

질문

  • (질문을 모두 적어주세요)
    질문은 없습니다 과제 덕분에 자바도 조금은 이해한 것 같아 감사합니다!

이용자의 이름을 받고, 이용자가 대출과 반납을 하기 위해 만들었고 이용자가 대출한 책도 조회함
책이 들어있어야 할 도서관 클래스를 만들었다. 도서관의 이름도 입력받고 책 제목으로 해당하는 책을 찾고 도서관에 있는 책을 조회하기 위해 만들었다.
책 클래스를 생성하여 책의 속성을 받고 책의 갯수를 더하며 책의 반납과 대출여부를 확인하기 위해 만들었다.
(알 수 없는 이유로 젤 처음 커밋한 책 클래스 내용이 커밋이 안 되고 유저 클래스랑 같이 올라가버려서 여기에 다시 쓰겠습니다...)
코드 이해를 돕기 위해 주석을 작성했다.
주석에 따른 코드들을 작성 가장 기본적인 기능들 구현
도서관을 조회할 때 대출자도 함께 출력하는 코드를 짰다.
오류 때문에 실행은 제대로 되지 않았다.
대출 여부를 확인하는 코드를 만들어 빌린책 제목과 입력받은 책 제목을 비교하여 대출 여부를 확인한다.
대출자 코드에서 대출 여부를 확인하는 코드를 넣어 참이라면 대출을 한 것이기 때문에 유저의 이름을 반환시켰다. 대출자 코드를  보기 편하게 묶어줬다.
대출이 가능한 책과 불가능한 책을 나누어 조회할 수 있도록 printUnavailableBook과 printavailableBook 메소드를 만들어
대출이 가능한 책인 availablebooks를 0과 비교하며 0과 같으면 대출할 수 없으니 printUnavailableBook에서 출력하도록 하고
0보다 크면 printavailableBook에서 대출 가능한 책으로 출력하도록 만들었다
대출자 이름을 출력하는 메소드 주석을 작성했다.
@cabbage16
Copy link
Member

🙌 @hll2071 님 안녕하세요

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

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

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

  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