비어있는 문자열을 체크하고 NumberFormatException() 대신에 아래와 같이 코드를 작성하시면 더 좋을 것 같다는 생각이 듭니다!
`int num;
try { num = Integer.parseInt(s);} catch(NumberFormatException e){ throw new IllegalArgumentException();`
저는 약간 반대 이야기를 조금 해 보겠습니다.. 패턴의 학습 이후에 적용보다는, 객체의 책임을 먼저 생각한 뒤 그에 따른 코드가 MVC에 가까어지는 코드가 더 바람직하다고 생각해요. 아직 객체지향이 어렵게 느껴지신다면, 객체 책임 분리나 객체지향에 대한 공부를 더 해도 좋겠습니다. 물론 이런 결정은 민혁님 몫이고요! 😁
왜 Java로 프로그램을 작성할까요? 변수명만 길어지고 책임 분리는 귀찮아요. Python과 같은 언어로 프로그램을 작성한다면 훨씬 적은 코드로 같은 결과를 낼 수도 있고요. 그럼에도 Java를 사용하는 이유는 무엇일까요? 🤔 저는 협업과 유지보수에 큰 가치를 두었다고 생각해요. 혼자 개발하는 것이 아니라 둘 이상이 규칙을 가지고 개발하기. 변경 사항...
`Calculator`는 계산기이고, 계산기는 수의 연산을 합니다. 계산기에게 `add`라는 연산을 하라고 하면서 아무것도 주지 않는 것이 조금 어색하게 보이는데요, 이는 `input`을 적절하게 나누는 역할이 계산기에게 존재하지 않는다는 이야기로 흘러갈 수 있겠습니다.