Skip to content

클래스와 모듈화 - 코드를 나눠서 정리하기 ​

클래스(class) ​

역할별로 묶은 함수+데이터 묶음입니다. 비유하면:

  • TransactionRepository = 가계부 본체 (내역 추가/찾기/수정/삭제 담당)
  • CategoryStore = 카테고리 관리 담당자
  • BudgetStore = 예산 관리 담당자

각각 자기 일만 맡아서 처리하면 코드가 깔끔해집니다.

요구사항: 최소 2개 이상의 클래스 사용

모듈(module) 분리 ​

모듈 = 코드 파일 하나. 한 파일에 다 몰아넣지 말고 역할별로 나누라는 뜻입니다.

budget_app/
├── __init__.py      ← 이 폴더가 파이썬 패키지임을 표시
├── __main__.py      ← python -m budget_app 으로 실행될 때 시작점
├── cli.py           ← 화면과 대화하는 부분 (입력받고 출력)
├── models.py        ← Transaction 같은 데이터 상자 정의
├── storage.py       ← 파일 읽고 쓰는 부분 (저장소 계층)
└── services.py      ← 실제 로직 (검색, 요약, 예산 판정 등)

계층(layer) 개념: 사용자와 마주보는 곳(CLI) → 판단하는 곳(Service) → 저장하는 곳(Storage) → 데이터 모양(Model). 위에서 아래로만 호출하면 나중에 고치기 쉬워집니다.

요구사항: 최소 3개 이상 모듈로 분리


출처: Codyssey-B1/B2-1