해당 run() 메소드는 Application.java 파일에서 실행됩니다.
현재 CalculatorController에서는 공용 데이터나 인스턴스 필드를 포함하지 않고 있기 때문에 static을 사용하였습니다. 또한, 프로그램이 시작되면서 힙 영역보다는 스택 영역에 할당되는 것이 조금 더 빠르지 않을까 생각했기 때문에 위와 같이 프로그래밍하였습...
네이밍에 대한 의문점이 있는 것 같습니다! 방금 `Adder` 클래스를 보고 왔는데, classifier 인스턴스로부터 숫자 리스트를 가져오더라구요.
본래 문자열로부터 구분자를 활용하여 숫자를 뽑아내고, 분류하는 게 `Classifier` 클래스의 일인데, `Adder`에서는 이미 분류가 끝나 단순히 구분자 + 숫자 저장소의 역할밖에 안 하는 `...
`Console` 라이브러리에서는 `readLine()`, `close()` 2개의 메서드를 지원하더라구요! 아무래도 `readLine()` 메서드가 Scanner를 활용하기 때문에 입력을 종료시켜주는 `close()` 메서드도 존재하는 것 같습니다.
`close()`도 활용해보시면 좋을 것 같아요!
사실 입력 기능 Test하면서 `Console.readIne`에서 사용되는 Scanner에 의해 발생되는 예외였고 이를 해결하고자 추가하게 된 예외 처리였습니다!
Scanner 사용에 미숙한 탓에 발생한 불필요한 예외 처리인 것 같습니다...ㅠㅜㅠ
다음 미션부터는 잘 개선해야봐야겠네요!!
(좋은 부분 질문 주셔서 감사합니다!)
비록 1주...
사실 보통 관습적으로 MVC 패턴을 적용하여 패키지를 나누는 경우가 많다고 생각합니다.
하지만 규모가 작은 어플리케이션 혹은 매우 간단한 어플리케이션을 구현할 때,
패키지와 클래스를 과도하게 분리하는 것은 오히려 개발 생산성을 저하시킨다고 생각해요.
(클래스는 별로 없는데 패키지만 많으면 여기저기 찾으러 다니는 것은 비효율적일 거에요)
...
저의 경우, "관심사"에 따라 다른 것 같습니다.
관심사에 대해 "**단일 값만으로 표현**"할 수 있다면 보통 `static final`을 통해 불변 상수 선언을 하고
관심사에 대해 "**여러 형태의 값으로 표현**" 수 있다면 (_ex. 에러 코드, 도메인 관련 코드_) 하나의 상수 객체로 묶어야할 필요가 있다고 판단되어 Enum을 활용하는...