프로젝트 개요 및 UML 설계
Coddy Java 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 87개 중 77번째.
챌린지
쉬움도서 관리 시스템 프로젝트의 기초를 다지기 위해, 다른 모든 기능의 기반이 될 핵심 엔티티 클래스를 구축해 보겠습니다. 이 첫 번째 챌린지는 레슨의 UML 설계를 따르는 잘 구조화된 Book 및 User 클래스를 만드는 데 중점을 둡니다.
코드는 다음 세 개의 파일로 구성됩니다:
Book.java: 도서관의 책을 나타내는Book클래스를 생성합니다. 각 책은isbn(String),title(String),author(String),isAvailable(boolean, 기본값은true)에 대한 private 필드를 가져야 합니다. isbn, title, author를 매개변수로 받는 생성자를 포함하세요. 모든 필드에 대해 적절한 getter 메서드를 제공하고,isAvailable에 대한 setter를 제공하세요.[isbn] title by author형식의 문자열을 반환하는getDetails()메서드를 추가하세요.User.java: 도서관 회원을 나타내는User클래스를 생성합니다. 각 사용자는id(String)와name(String)에 대한 private 필드를 가져야 합니다. 두 값을 모두 받는 생성자를 포함하고, 각 필드에 대한 getter 메서드를 제공하세요.User[id]: name형식을 반환하는toString()메서드를 추가하세요.Main.java: 클래스들이 올바르게 작동하는지 확인하기 위해 하나로 통합합니다. 책의 ISBN, 제목, 저자, 그리고 사용자의 ID와 이름을 순서대로 입력받습니다.처음 세 개의 입력으로
Book객체를 생성하고, 마지막 두 개의 입력으로User객체를 생성하세요.getDetails()를 사용하여 책의 상세 정보를 출력한 다음,Available: true또는Available: false형식으로 책의 대여 가능 여부를 출력하세요. 마지막으로toString()메서드를 사용하여 사용자 정보를 출력하세요.
입력은 ISBN (String), 제목 (String), 저자 (String), 사용자 ID (String), 사용자 이름 (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이 기초 클래스들은 전체 도서 관리 시스템의 빌딩 블록 역할을 하게 됩니다. 다음 레슨에서는 대출 기능, 검색 기능 등을 추가하여 이 클래스들을 확장해 나갈 것입니다!
직접 해보기
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: 도서의 대여 가능 여부 출력 (형식: "Available: true" 또는 "Available: false")
// TODO: toString()을 사용하여 사용자 정보 출력
}
}
객체 지향 프로그래밍의 모든 레슨
4상속
상속의 기초 (extends)super 키워드메서드 오버라이딩 (@Override)생성자 체이닝Object 클래스단일 및 다중 레벨 상속다중 클래스 상속이 불가능한 이유요약 - 직원 계층 구조