☕Java

Java 객체지향 프로그래밍으로 책 정보 관리 시스템 구현하기

itstory(Booho) 2024. 12. 10. 17:37
728x90
이번 포스트에서는 자바 객체지향 프로그래밍을 이용하여 간단한 책 정보 관리 시스템을 구현해 보겠습니다. Author 클래스와 Book 클래스를 정의하고, 이를 통해 다양한 책과 저자 정보를 관리하는 프로그램을 만들어 볼 것입니다.

📝 목표:

우리는 책과 저자(Author)의 정보를 저장하는 프로그램을 만들어 볼 거예요

 

 

✅ 1. 저자 (Author) 클래스 만들기

✔ 저자의 이름을 저장하는 클래스를 만들어 보겠습니다.

public class Author {
    String name; // 저자의 이름

    void print() {
        System.out.println("저자 이름: " + name);
    }
}

📌 설명:

  • name 변수에 저자의 이름을 저장합니다.
  • print() 메소드에서 저자의 이름을 출력합니다.

 

✅ 2. 책 (Book) 클래스 만들기

✔ 책의 정보를 저장하는 클래스를 만들어 보겠습니다.

public class Book {
    String title;  // 책 제목
    String description; // 책 설명
    int price; // 가격
    Author author; // 저자 정보 (Author 클래스 사용)

    void print() {
        System.out.println("책 제목: " + title);
        System.out.println("설명: " + description);
        System.out.println("가격: " + price + "원");
        author.print(); // 저자의 정보 출력
    }
}

📌 설명:

  • title: 책 제목 저장
  • description: 책에 대한 간단한 설명
  • price: 가격 저장
  • author: 저자 정보 저장 (Author 클래스를 활용)
  • print(): 책의 모든 정보를 출력

 

✅ 3. 실행 클래스 만들기 (Main 메소드)

✔ 책과 저자를 직접 만들어서 실행해 볼까요?

public class Yes24 {
    public static void main(String[] args) {
        // 1. 책 객체 생성
        Book b1 = new Book();
        b1.title = "자바 입문";
        b1.description = "자바를 처음 배우는 사람을 위한 책";
        b1.price = 20000;

        // 2. 저자 객체 생성
        b1.author = new Author();
        b1.author.name = "김자바";

        // 3. 책 정보 출력
        b1.print();
    }
}

📌 실행 결과 (출력):

책 제목: 자바 입문
설명: 자바를 처음 배우는 사람을 위한 책
가격: 20000원
저자 이름: 김자바

🎯 핵심 요약

1️⃣ 클래스 만들기

  • Author 클래스: 저자의 이름을 저장
  • Book 클래스: 책 제목, 설명, 가격, 저자 정보를 저장

2️⃣ 객체 만들기

  • new 키워드를 사용하여 Book과 Author 객체를 생성

3️⃣ 출력하기

  • print() 메소드를 호출하여 책과 저자의 정보를 화면에 출력

 

코드 작동 원리

  1. 객체 생성: new 연산자를 사용하여 Author 객체와 Book 객체를 생성합니다.
  2. 멤버 변수 초기화: 생성된 객체의 멤버 변수에 값을 할당합니다.
  3. 객체 연결: Book 객체의 author 멤버 변수에 Author 객체를 할당하여 책과 저자를 연결합니다.
  4. 메소드 호출: print() 메소드를 호출하여 객체의 정보를 출력합니다.

객체지향 프로그래밍 개념 적용

  • 클래스: Author와 Book은 실제 세계의 개념(저자, 책)을 추상화한 클래스입니다.
  • 객체: new 연산자로 생성된 Author 객체와 Book 객체는 클래스의 인스턴스입니다.
  • 멤버 변수: 각 객체의 고유한 속성을 나타냅니다.
  • 메소드: 객체가 수행할 수 있는 동작을 정의합니다.
  • 캡슐화: 클래스 내부의 데이터를 보호하고, 외부에서의 접근을 제한합니다.
  • 연관 관계: Book 클래스의 author 멤버 변수를 통해 Author 클래스와 연관 관계를 맺었습니다.

 

728x90