TIL_180509 자바 고객관리 프로그램.v1
자바 공부를 생코를 통해 혼자 예습삼아 진행하면서 뭔가 이론적인 것을 써먹을 방법을 강구(?)하다가 문득 자바스크립트 배울 때를 떠올렸다. 자바스크립트를 배울때 Todo앱을 단계별로 조금씩 기능을 덧붙혀가며 공부했던 기억이 매우 좋게 남아있는데 (다만, 그당시에는 한단계 한단계가 엄청 큰 변화처럼 느껴져서 매우 버거웠던 것은 안비밀) 그 기억을 되살려 간단한 자바 프로그램을 만들기로 결정! 다만, 온라인 튜토리얼과 너무 똑같은 구성으로하다가는 복붙만 하고 눈으로 읽는 정도에 머무를까 걱정되어 Assignment에서 요구한 질문을 적절히 버무려(?) 전화번호부 관리프로그램을 토대로 고객관리 프로그램을 만들어 보기로 했다.
자바 고객관리 프로그램.v1 기능
- 고객의 정보들을 저장할 클래스 customerInfo 설계
-Account Number
-Balance
-Credit Limit - customerInfo를 출력할 메소드 showCustomerInfo
- customerInfo 인스턴스를 생성하여 출력 확인
|
|
1. 클래스의 멤버 메소드 ShowCustomer()
위 코드의 주석에서 보듯이 v1에는 다른 기능이 별도로 있는 것이 아니라 고객정보 생성과 출력밖에 없기에 ShowCustomer()를 CustomerInfo 클래스의 멤버 메소드로 설정했는데, 이게 참.. 여러명의 고객정보를 출력해야한다면 형편없는 코드이다. 접근 자체가 생성된 인스턴스를 통해야하기때문에 영 비효율적. v1에서는 고칠필요는 없으나, 추후 단계로 갈수록 고쳐야할 필요가 꼭 있음!
2. CustomerInfo 생성자 오버로딩?
사실 생성자함수를 별도로 작성하지 않아도, 자바는 해당 클래스명과 동일한 생성자함수를 암묵적으로 생성한다. 그러나 매개변수가 있는 생성자가 있을 때에는 오버로딩을 통해 인스턴스 생성 과정에서 매개변수를 사용해야만 하는 강제성을 줄 수 있기에 명시했다. 생코에서 생성자를 배울때 생성자의 특징 중 “값을 반환하지 않는다” 라는 말이 있었는데, 인스턴스를 생성하기 위한 메소드인데 반환값이 있다? 당연히 아웃풋으로 인스턴스가 나오는게 마땅한데, 어쩐지 저 글을 읽는 바람에 너무나 당연한(?) 사실에 잉? 이게 뭐지하고 혼란이 왔던 기억이 난다.
아무튼 v1은 아주 심플 그 자체로 순조롭게 완성