Menu
Coddy logo textTech

프로젝트 개요 및 UML 설계

Coddy Java 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨. 87개 중 77번째.

challenge icon

챌린지

쉬움

Library Management System 프로젝트를 시작하며, 다른 모든 기능이 의존하게 될 기반, 즉 핵심 엔터티 클래스를 구축해 보겠습니다. 이 첫 번째 과제에서는 시스템의 핵심 엔터티를 모델링하는 잘 구조화된 BookUser 클래스를 만드는 데 중점을 둡니다.

코드를 세 개의 파일로 구성합니다:

  • Book.java: 도서관의 도서를 나타내는 Book 클래스를 Create합니다. 각 도서에는 isbn (String), title (String), author (String), 그리고 isAvailable (boolean, 기본값은 true)에 해당하는 Private 필드가 있어야 합니다. isbn, title, author를 accepts하는 Constructor를 포함합니다. 모든 필드에 적절한 Getter methods를 제공하고, isAvailable에 대한 Setter를 제공합니다. 형식이 지정된 문자열 [isbn] title by author를 Returns하는 getDetails() method를 추가합니다.
  • User.java: 도서관 회원을 나타내는 User 클래스를 Create합니다. 각 User에는 id (String)와 name (String)에 해당하는 Private 필드가 있어야 합니다. 두 값을 모두 accepts하는 Constructor를 포함하고, 각 필드에 대한 Getter methods를 제공합니다. User[id]: name을 Returns하는 toString() method를 추가합니다.
  • Main.java: 클래스들을 함께 사용하여 올바르게 작동하는지 보여 줍니다. 네 개의 입력을 받습니다. 도서의 ISBN, title, author, 그리고 User의 ID와 name입니다.

    처음 세 입력으로 Book을 Create하고, 마지막 두 입력으로 User를 Create합니다. getDetails()를 사용하여 도서의 details를 Print한 다음, Available: true 또는 Available: false 형식으로 도서의 대여 가능 여부를 Print합니다. 마지막으로 해당 User의 toString() method를 사용하여 User를 Print합니다.

다음 순서로 다섯 개의 입력을 받습니다: ISBN (String), title (String), author (String), user ID (String), user name (String).

예를 들어 입력이 978-0-13-468599-1, Effective Java, Joshua Bloch, U001, Alice Smith인 경우 출력은 다음과 같습니다:

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

이러한 기초 클래스는 전체 Library Management System을 구성하는 building blocks 역할을 합니다. 다음 lesson에서는 borrowing 기능, search capabilities 등을 추가하여 이 클래스들을 확장해 보겠습니다!

직접 해보기

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // 도서 정보 읽기
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // 사용자 정보 읽기
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: isbn, title, author를 사용하여 Book 객체 생성하기
        
        // TODO: userId와 userName을 사용하여 User 객체 생성하기
        
        // TODO: getDetails()를 사용하여 도서의 상세 정보 출력하기
        
        // TODO: Print whether the book is available (format: "Available: true" or "Available: false")
        
        // TODO: toString()을 사용하여 사용자 출력하기
    }
}

객체 지향 프로그래밍의 모든 레슨

직접 연습해 보세요: 온라인 Java 컴파일러