자동차 경주 미션을 진행하던 중, Car 객체를 담는 List를 생성하는 클래스를 짰는데 리뷰어님으로부터 이러한 코멘트를 받았다.자료구조를 포함한 네이밍보다 Cars 라는 이름을 사용하는 것이 좋다일급 컬렉션을 사용하면 좋을 것 같다일급 콜렉션이 뭐지?일급 컬렉션은 어
평소 개발을 하다가 무분별하게 @Data 어노테이션을 사용해서 @getter와 @setter 의 사용을 남발하곤 했다. TDD 코드리뷰를 받았던 내용 중에 getter와 setter 사용을 최대한 지양하라는 말을 들었고, 공부하면서 많이 들은 말이지만 정작 왜 쓰면 안
코드를 짤 때 어떤 객체값을 유지한 채로 값을 복사해 새 객체를 만들어 코드를 짤 일이 가끔 생기곤 한다. 그런데 이 때 원본 객체의 값까지도 변경되는 일이 일어나 골머리를 앓곤 했다. 따라서 깊은 복사와 얕은 복사의 차이를 블로그에 기록하여 정확히 짚고 넘어가고자
변수나 메소드에 키워드로 사용하는 개념이다static을 사용한 변수는 클래스가 메모리에 올라갈때 자동으로 생성이 되므로 인스턴스를 생성할 필요없이 바로 쓸 수 있다변하지 않는 일정 값 혹은 설정 정보처럼, 공용으로 쓸 수 있는 자원에 대해 매번 메모리에 로딩하거나 값을
우테코 프리코스 미션을 수행하며 다른 참가자 분들의 코드를 열심히 구경하던 중, equals와 hashcode 메소드를 오버라이딩하여 사용하는 코드를 적지 않게 확인할 수 있었다. 그런데 정작 이 방법을 왜 사용하는지, 또 어떻게 사용하는지에 대한 지식이 전무했기에,
우테코 미션을 진행하여 여럿 크루들이 생성자를 직접 사용하는 대신, 정적 팩토리 메소드라는 것을 사용해 객체 생성자 호출을 메소드로 넘기는 것을 볼 수 있었다. 정적 팩토리 메소드라는 용어를 많이 들어보긴 했으나, 정확히 어떤 경우에, 또 어떠한 방식으로 사용할 수 있
우아한테크코스 체스 미션을 수행할 때, 편의성 때문에 무의식적으로 static으로 선언한 메소드를 남발하곤 했다. 코드 리뷰어분께서 static 메소드를 사용했을 때 얻을 수 있는 이점이 무엇인지, 또 그것을 사용했을 때 유의해야할 점이 무엇인지를 생각해보라고 하셨다.
우테코 레벨 2 주문 기능 개발 미션을 수행하던 중, 주문 정보 관련 객체인 "Order"를 생성할 때 생성자 이내에 검증 로직을 추가했다.따라서 해당 객체의 정상적 생성을 테스트하기 위해 다음과 같은 테스트를 진행했다. 객체를 생성할 때 정상적이면 아무런 예외가 던져