40

Step 1: 클래스 설계

Day 5: 주간 프로젝트 - 주소록 관리 시스템

학습 목표

Contact 클래스를 설계한다 AddressBook 클래스를 설계한다 특수 메서드를 적절히 구현한다

Contact 클래스

속성

  • name: 이름 (필수)
  • phone: 전화번호 (필수)
  • email: 이메일 (선택)
  • group: 그룹 (선택, 기본값: "기타")

메서드

  • str: 연락처 정보 문자열
  • eq: 이름과 전화번호로 비교
  • to_dict: 딕셔너리로 변환
  • from_dict (classmethod): 딕셔너리에서 생성

AddressBook 클래스

속성

  • contacts: Contact 리스트
  • filepath: 저장 파일 경로

메서드

  • add(contact): 연락처 추가
  • remove(name): 이름으로 삭제
  • find(query): 이름/전화번호로 검색
  • list_all(): 전체 목록
  • save(): 파일에 저장
  • load(): 파일에서 불러오기
에디터 로딩 중...
정답 보기
에디터 로딩 중...