조종 다음은 개발
article thumbnail
toString 을 뷰에 맞게 재정의하면 안되는 이유
개발 스토리 2023. 11. 7. 14:15

서론 pobi : ---- juni : -- choi : ------ 나는 우테코 프리코스 2 주차 미션 요구사항에서는 자동차 진행 결과를 위와 같이 출력해야 했다. 그래서 나는 Car 객체의 toString을 재정의하여 간단하게 출력하였다. System.out.println(car)를 해주면 ${이름} : ---- 로 깔끔하게 나오기 때문에 toString을 재정의 하는 게 좋다고 생각했었다. 그런데 2 주차 미션에 대해 코드 리뷰를 받으면서 출력이 수정된다면 도메인을 수정해야 한다는 것이 어색하다는 피드백을 받았다. 그래서 이번 기회에 toString의 역할에 대해서 알아보면 좋을 것 같아 이 글을 작성하게 되었다. 👷 toString의 역할 toString 의 역할은 무엇일까? toString 의 ..

article thumbnail
Enum 을 꼭 사용해야 할까??
개발 스토리 2023. 11. 6. 13:07

서론 우테코 프리코스 2 주차 미션 완료 이후, 피드백에서 객체에서 상수를 관리하는 방법 대신 Enum을 활용해 보는 것을 추천받았었다. 나도 Enum 을 알고 있지만 굳이 왜 사용해야하는지 이해가 안 됐다. 만약 위의 ErrorMessage를 Enum으로 만들었다면 아래와 같은 차이점이 있을 것이다. throw new IllegalArgumentException(ErrorMessage.INPUT_BLANK.getMessage()) Enum을 활용한 버전 throw new IllegalArgumentException(ErrorMessage.INPUT_BLANK) 객체를 활용한 버전 나는 객체를 사용한 버전이 훨씬 간단하고 깔끔한 것 같다. 그래서 그런지 나는 왜 Enum 을 사용해야 하는지 이해가 안 되..

article thumbnail
원시값 포장에 대해 알아보자!
개발 스토리 2023. 10. 30. 11:36

1 주차 회고글을 보다가 어떤 분이 원시값 포장에 대해 언급하신 것을 보게 되었다. 원시값 포장이 뭔지 잘 모르기 때문에 이번 기회에 정리해 보려고 이 글을 작성하게 되었다. 🤔 원시값 포장?? 원시값 포장이 뭘까? 이름 그대로 int, String, bytes 등과 같은 원시형 타입을 객체로 포장하는 것을 원시값 포장이라고 한다. (반면, Collection 과 같은 자료형 타입을 포장하는 것을 일급 컬렉션이라고 한다. 이에 대해선 추후 알아보자.) 이게 뭔 말이야? 할 수도 있다. 그러니 코드 예시로 살펴보자. int age = 20; 와 같은 변수를 Age age = new Age(20); 와 같이 객체로 포장하는 것을 원시값 포장이라고 말한다. 😳 뭐야 왜 객체로 포장해? 그러면 이제 왜 굳이 저..

article thumbnail
getter 를 지양해야하는 이유
개발 스토리 2023. 10. 28. 19:48

1 주차 미션을 마무리하고 코드 리뷰를 진행하던 중, 다른 분의 코드에서 어떤 분이 “getter 를 지양하는 코드를 작성하면 어떨까요??”라는 피드백을 달으신 것을 보았다. 그 동안 setter 를 지양해야 한다는 것은 알고 있었다. 그런데 getter 까지 지양해야 한다는 것은 어디선가 들어본 것 같기는 한데 자세한 이유를 모르고 있었다. 그래서 이번 기회에 한 번 알아보고자 한다. 🙄 왜 getter 를 지양해야 할까? 바로 본론으로 들어가서 왜 getter 를 지양해야 하는지 그 이유에 대해서 알아보자. 👻 캡슐화의 의미가 없어진다. public Cars { private List carNames; ... } 보통 객체들은 위와 같이 필드값들을 private 으로 선언하여 캡슐화를 한다. 이를 통..