내일배움캠프(Spring 7기)/CH 2 계산기 과제

Lv2. 요구사항 정의 및 설계

가지코딩 2025. 4. 18. 21:30

Lv2. 클래스를 적용해 기본적인 연산을 수행할 수 있는 계산기 만들기

계산된 결과 값들을 기록하는 컬렉션을 만든다.

컬렉션의 가장 먼저 저장된 데이터를 삭제하는 기능을 만든다.


[요구사항 정의]

  • 사칙연산을 수행 후, 결과값 반환 메서드 구현 & 연산 결과를 저장하는 컬렉션 타입 필드를 가진 Calculator 클래스를 생성
    • Calculator 클래스를 정의
    • 컬렉션 타입 필드 정의
  • Lv 1에서 구현한 App 클래스의 main 메서드에 Calculator 클래스가 활용될 수 있도록 수정
    • App 클래스의 main 메서드에서 Calculator 클래스 인스턴스화
  • App 클래스의 main 메서드에서 Calculator 클래스의 연산 결과를 저장하고 있는 컬렉션 필드에 직접 접근하지 못하도록 수정 (캡슐화)
    • 컬렉션 필드의 접근 제한자: private
      • getter(), setter() 메서드 정의
      • getter(), setter() 메서드로 컬렉션 필드값 접근
  • Calculator 클래스에 저장된 연산 결과들 중 가장 먼저 저장된 데이터를 삭제하는 기능을 가진 메서드를 구현한 후 App 클래스의 main 메서드에 삭제 메서드가 활용될 수 있도록 수정
    • 가장 먼저 저장된 데이터 삭제: 선입선출(FIFO) -> Queue 타입 컬렉션 정의
    • remove() 메서드 구현

[요구사항 설계]