이번 주는 미니 프로젝트와 은행관리 프로젝트를 함께 진행하였다.
수요일 하루는 미니 프로젝트, 목금은 은행관리프로젝트를 만들었는데
프로그램을 만드는데 있어 가장 기초적인 뼈대인
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사용법도 꾸준히 익혀볼 계획이다.