약 6분
읽기 설정
글자 크기
줄 간격
글꼴
8.4. 상품관리
상품 관리는 웹 어플리케이션에서 중요한 기능 중 하나입니다. 일반적으로 사용자들은 상품의 정보를 조회하고, 관리자가 상품을 등록하거나 수정해야 합니다. 이러한 요구사항을 충족하기 위해 객체지향 프로그래밍(OOP)의 개념을 적용하여 효율적인 코드 구조를 마련할 수 있습니다.
객체지향 프로그래밍(OOP)의 적용
상품 관리를 위해 다음과 같은 클래스 구조를 정의할 수 있습니다. 상품을 나타내는 Product 클래스를 만들고, 이 클래스는 상품의 속성과 메소드를 정의합니다.
예제: 상품 클래스
public class Product {
private String productId; // 상품 ID
private String name; // 상품명
private double price; // 가격
private String description; // 설명
// 생성자
public Product(String productId, String name, double price, String description) {
this.productId = productId;
this.name = name;
this.price = price;
this.description = description;
}
// Getter 및 Setter 메소드
public String getProductId() { return productId; }
public String getName() { return name; }
public double getPrice() { return price; }
public String getDescription() { return description; }
public void setName(String name) { this.name = name; }
public void setPrice(double price) { this.price = price; }
public void setDescription(String description) { this.description = description; }
}
위 예제에서 Product 클래스는 OOP의 Encapsulation을 적용하여 속성들을 private으로 설정하고, 공개 메소드를 통해 접근하도록 하였습니다.
실습
이제 위의 Product 클래스를 기반으로 CRUD(Create, Read, Update, Delete) 기능을 실제로 구현해보겠습니다. 간단한 콘솔 프로그램을 작성해 상품을 관리할 수 있도록 합시다.
먼저, 상품 목록을 관리하기 위해 List<Product>를 사용합니다.
import java.util.ArrayList;
import java.util.List;
public class ProductManager {
private List<Product> products = new ArrayList<>();
public void addProduct(Product product) {
products.add(product);
}
public void displayProducts() {
for (Product product : products) {
System.out.println(product.getName() + " - " + product.getPrice());
}
}
}
프로젝트
상품 관리 기능을 가진 웹 어플리케이션의 구조를 설계해보세요. MVC 패턴을 적용하여 컨트롤러를 별도로 만들어 상품 정보를 처리하도록 구성할 수 있습니다. 각 상품의 정보를 JSON 형태로 처리할 수 있도록 REST API를 설계하세요.
정리
이 장에서는 상품 관리를 위한 기본적인 객체지향 프로그래밍 개념과 상품 관리 구조를 다루었습니다. 이를 기반으로 더 복잡한 비즈니스 로직이나 데이터베이스 연동이 필요하며, Spring Boot와 같은 프레임워크를 통해 더 쉽게 관리할 수 있습니다.
다음 실습 과제로는 상품 추가 및 삭제 기능을 구현해보세요.
댓글 0
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.