Skip to Content
Suffering builds character
아카이브10.Java실습6. Phase 4 - 기본 타입 데이터 캡슐화

6. Phase 4 - 기본 타입 데이터 캡슐화

1. 캡슐화, Encapsulation

TSVParser를 통해 입출금 내역 데이터를 파싱하는 과정에서 변환되는 개별 데이터들은 전부 기본 타입
→ String은 실제로는 참조타입으로 분류되지만, 맥락상 기본 타입이라고 가정

  1. 입출금 날짜 - LocalDate
  2. 입출금액 - String
  3. 거래처 - String

이러한 값들 역시 서로 관련이 있기 때문에 하나의 의미 있는 형태인 단 건 입출금 내역이라는 의미의 BankTransaction으로 추상화하여 관리하는 것이 좋음

또한 적절한 제어자를 지정하여 데이터에 대해 외부에서의 무분별한 변경이나 접근을 제한할 수 있음
→ 캡슐화(Encapsulation)

1-1. BankTransaction.java 작성

BankStatementTSVParser에서 사용할 단 건 입출금 내역을 담고 있는 BankTransaction.java 작성

2. 몇 가지 메서드 기능 개선

특정 월의(ex. 1월) 입출금 내역을 월별 입출금 내역 기능으로 개선

BankStatementAnalyzer
// private double findTransactionsInJanuary() { ... } private List<BankTransaction> selectMonth(List<BankTransaction> bankTransactions, Month month) { // ... }

전체 입출금 내역 기능을 별도의 메서드로 추출

BankStatementAnalyzer
private List<BankTransaction> calculateTotalAmount(List<BankTransaction> bankTransactions) { // ... }
Last updated on