- 자동차 경주 게임 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
- 정적 클래스는 프로그램이 실행될 때 바로 메모리에 올라가고, 싱글톤 클래스는 사용할 때에 객체화되어 메모리에 올라간다.
- 상태를 가지지 않기 때문에 싱글톤 클래스도 동시성 이슈가 발생하지 않는다.
- 현재 프로그램에서는 StringSumCalculator 만 존재하기 때문에 메모리에 바로 올려도 상관없지만, 다른 과제를 하며 프로젝트의 사이즈가 커지면 StringSumCalculator를 굳이 메모리에 올릴 필요가 없어지게 된다.
- 따라서, 정적 클래스 대신 싱글톤 클래스로 전환했다.
- n대의 자동차로 m번의 이동을 할 것인지 입력 받는다.
- 매 횟수 동안 0~9 사이의 랜덤 값을 구한다.
- 랜덤 값이 4 이상이면 전진한다.
- 자동차의 상태를 출력한다.
- 입력받은 이름을 ,기준으로 split 한다.
- 출력할 때 자동차의 이름을 같이 출력한다.
- 이름의 개수만큼 자동차를 생성한다.
- 차 중에 우승한 차를 알려준다.