# 54. 접두사 테이블 리팩토링 (Prefix Table Refactoring)

## 1. 목표 (Goal)
- `ItemTable`에 하드코딩되어 있던 Normal 등급 접두사 로직(이름, 배율, 확률)을 `ItemPrefixTable`로 이동하여 데이터 기반으로 관리합니다.
- `ItemModifier` 클래스를 확장하여 스탯 배율(`multiplier`)과 가중치(`weight`)를 지원하도록 개선합니다.

## 2. 구현 상세 (Implementation Details)

### `ItemPrefixTable` 개선
- **`ItemModifier` 구조 변경:**
  - `multiplier`: 퍼센트 기반 스탯 변경을 위한 필드 추가 (기본값 1.0).
  - `weight`: 랜덤 선택 가중치를 위한 필드 추가 (기본값 1).
- **`normalPrefixes` 데이터 추가:**
  - Crude (0.9, weight 25)
  - Old (0.95, weight 25)
  - Standard (1.0, weight 25, empty prefix)
  - High-quality (1.1, weight 25)

### `ItemTable` 로직 수정
- **`createItem` 메서드:**
  - 하드코딩된 `if-else` 확률 로직을 제거.
  - `ItemPrefixTable.normalPrefixes`를 사용하여 가중치 기반 랜덤 선택(Weighted Random Selection) 알고리즘 구현.
  - 선택된 Modifier의 `multiplier`를 적용하여 스탯 계산.

## 3. 결과 (Result)
- 접두사 데이터 추가 및 밸런스 조정이 `ItemPrefixTable` 수정만으로 가능해졌습니다.
- 코드 중복이 줄어들고 확장성이 향상되었습니다.
