2024/11 5

[우아한테크코스 7기] 프리코스 4주차 회고

시작하며  4주간의 프리코스가 끝이났다...!!!모든걸 하얗게 불태운 4주차 미션을 끝낸 후 하루 반나절 이상 침대에 누워서 잠자고 먹고를 반복하며 저녁이 되서야 정신이 차려져 회고를 작성해보고자 한다. 결론적으로 너무 아쉬운 감정과 함께 4주차 미션을 마무리 하였다. 그 이유로 요구사항의 해석을 제대로 하지 못해 4개의 테스트 케이스 중 결국 3개만 통과한 채 끝이 났기 때문이다.11월 10일 오후 3시에 미션을 제출한 이후 프리코스를 진행하며 처음으로 테스트가 실패하였다.다시 미션 가이드를 천천히 정독하고 정리하며 놓친 부분이 없는지 확인해보았고, 그 과정에서 여러 버그를 수정하였다.그 과정에서 실제 기능적인 버그도 수정을 하였지만, 무엇보다 요구사항의 해석을 다양하게 적용하고 그에 맞는 로직을 수정..

[우아한테크코스 7기] 프리코스 3주차 회고

https://github.com/woowacourse-precourse/java-lotto-7/pull/56 [로또] 최영철 미션 제출합니다. by softmoca · Pull Request #56 · woowacourse-precourse/java-lotto-7제 코드를 보려와주셔서 감사합니다. ☺️ 제 코드를 읽으시면서 가독성이 떨어지시거나 코드 및 PR 커멘트의 의도를 파악하기 힘드셨던 부분은 강하게 피드백 해주시면 감사하겠습니다 ! 또 한github.com   시작하며  프리코스에 몰입한지 벌써 3주가 지났다. 정말 체감상 3일간 하나의 학교 과제 혹은 프로젝트의 하나의 기능을 구현하는것과 같이 짧게 느껴졌다..! 이제 앞으로 1번의 미션 밖에 남지 않았다니 뭔가 아쉽다..! 프리코스가 4주가 ..

원시값 포장, VO, 일급 객체, 일급 컬렉션 톺아보기

프리코스 2주차 미션을 진행하며 코드리뷰로 피드백 받은 '일급 객체','원시값포장' 도입에 대한 피드백을 받아 정리해 보고자 한다.   원시값 포장원시값 포장(Primitive Wrapping)은 Java에서 원시 타입(Primitive Type) 데이터를 객체로 감싸는 작업을 의미한다.일반적으로 데이터의 안전한 관리를 위해 사용되며, 원시 타입과 객체 간의 기능적 차이를 보완하고 객체 지향적 프로그래밍(OOP)의 장점을 활용하기 위한 기법이다.원시값 포장의 개념원시 타입(Primitive Type)은 값만을 저장하는 경량 데이터 타입으로, Java의 가장 기본적인 데이터 형태이다.그러나 원시 타입은 메서드를 가지지 않고, 객체로 취급되지 않으며, 컬렉션과 같은 데이터 구조에서 사용할 수 없는 제약이 있..

정적 팩토리 메서드 톺아보기

2주차 미션을 진행하며 코드 리뷰의 피드백으로 정적팩토리메서드 도입에 대한 피드백을 받아 정리해보고자한다.  정적팩토리 메서드정적 팩토리 메서드는 클래스의 인스턴스를 생성하기 위해 사용하는 정적 메서드(static method)이다.보통 생성자를 대체하거나 보완하는 방식으로 사용되며, 객체 생성과 관련된 다양한 기능을 제공한다. 정적 팩토리 메서드의 개념정적(static) 메서드로 정의되어, 인스턴스를 반환하는 역할을 수행.생성자와 달리 메서드 이름을 자유롭게 정의할 수 있어, 가독성과 유연성이 증가.객체 생성 로직을 캡슐화하여, 재사용성과 유지보수성을 높임. 정적 팩토리 메서드의 장점의미 있는 이름생성자보다 메서드 이름을 명시적으로 지정할 수 있어, 의도를 명확히 표현 가능.// 생성자 방식BigInt..

상수관리에 Enum은 필수적인가 ?

Enum은 상수 관리에 필수적인가 ?프리코스 1주차 미션에 대한 코드 리뷰로  에러메세지에 관한 상수를 Enum을 사용해 보는 것에 대한 피드백을 받았다. 그리고 2주차 미션에 바로 적용해 보았다.확실히 타입의 안정성과 재사용성 측면에서 좋은 장점이 있었다.   하지만 위와 같은 에러메세지가 길어 가독성이 떨어져 명확하게 보여지지 않는 피드백을 받고 생각해 보았다. throw new IllegalArgumentException(ErrorMessage.CAR_NAME_TOO_LONG.getMessage() + ": " + name);확실히 위와같은 Enum 을 사용하는 코드와 아래와 같은 Enum을 사용하지 않고 일반 상수로 관리하는것이 명확하게 인지되는것 또한 느껴졌다.throw new IllegalAr..