[WIL] 22/11/25

김보아·2022년 11월 28일

이번 주는 미니 프로젝트와 은행관리 프로젝트를 함께 진행하였다.
수요일 하루는 미니 프로젝트, 목금은 은행관리프로젝트를 만들었는데
프로그램을 만드는데 있어 가장 기초적인 뼈대인
CRUD 즉,
Create(생성), Read(조회), Update(업데이트), Delete(제거)
을 사용하는 프로젝트를 했다.

초반 미니 프로젝트인 메모장 프로젝트를 시작할때는 너무 막막해서 무엇부터 해야할지 감이 전혀 잡히지 않았는데 일단 틀 부터 만들어야 할것같아서 구글링한 메모장 프로그램을 찾아 큰 틀을 만들었다.

 System.out.println(" --------------------------------메모작성 프로그램--------------------------------- ");
 System.out.println("|    1. 입력    2. 메모보기    3. 메모검색    4. 메모삭제    5. 메모수정    6. 종료    |");
 System.out.println(" ------------------------------------------------------------------------------ ");

우리는 주로 for문과 while문/ if문, switch문을 활용하여 코드를 작성했다.
그 중 제일 만들기 어려웠던 부분은
Create 생성 부분이였다.
메모에 등록해야 하는 것은 총 작성자 이름, 비밀번호, 메모내용 이였는데 우리는 메모를 arraylist함수를 사용해서 만들고자 했다.
그리고 나중에 각각의 메모에 인덱스번호를 넣어 인덱스 번호로 메모를 검색할 수 있게끔 하였는데, 이 부분이 조금 까다롭다고 생각했다.

인덱스 번호는 메모 작성시에 따로 작성하는 것이 아닌 자동적으로 새로 붙여주게끔 하고 싶었는데

int count = 0;
count += 1;
int Num = count;

이런 방법을 사용하여 메모 한개당 인덱스 번호가 늘어나서 소유하게끔 만들었다.
다만 아쉬운 점은 중간 목록에 있는 메모삭제를 할때 그 고유의 인덱스 번호가 사라지는 점이였다. 하지만 곰곰이 생각해보니 인덱스번호라고 생각할게 아니라
각 메모의 고유 ID값이라고 생각하면 되었다.

은행관리 프로그램은 메모장 프로그램과 거의 일치했다.
다만 은행에서 관리해야하는 계좌 등록, 계좌 조회 부분과
고객이 직접관리하는 입금, 출금, 잔액조회 를 크게 두 부분으로 나누어서 진행하였다.

두명은 은행, 세명은 고객 파트로 나누었는데 나는 은행파트를 맡게 되었다.
은행파트에서 가장 중요했던 부분은 바로 고객계좌 등록이였는데
고객명, 초기 금액, 비밀번호 이렇게 세 가지 내용을 담고 있어야 한다.
거기다 은행명까지 포함시켜서 계좌 전체 조회를 보면 목록처럼 주루룩 뜨게 된다.
특히 계좌 번호 생성은 Random함수를 사용하며 0~9까지의 수를 랜덤으로 발생해 총 12자리의 수를 만들었다. 정규식으로 표현하기 위해

System.out.println("계좌번호는 " + customerAccount.substring(0, 4) + "-" + customerAccount.substring(4, 8) + "-" + customerAccount.substring(8, 12) + "입니다.");
Bank info = new Bank(customerName, customerAccount, customerBalance, bankName,"계좌생성",t);
list.add(info);
System.out.println("계좌가 등록되었습니다");

이렇게 하였는데 substring을 사용하여 4자리, 8자리에서 "-"가 출력되어 나오게끔 했다. 하지만 리스트에는 "-" 없이 문자열처럼 사용되어진다.

확실히 개념공부가 약해서 그런지 이해하기보다 열심히 따라치고 변수명 바꾸기만 했다. 하지만 프로젝트를 먼저 하고나서 개념공부를 한번 더 보니 확실히 이해가 빠르게 되었다.
클래스와 메소드, 접근제어자, 생성자 등 여러개념은 다시 충실히 잡아두어야겠다.
다음주는 git사용법도 꾸준히 익혀볼 계획이다.

profile
개발하는 개발자

0개의 댓글