6장 스터디 기능 설계 대 구조 설계 기능 측면 설계 : 제품이 사용자를 위해 무엇을 할 수 있는지에 초점 구조 측면 설계 : 제품의 형태가 어떠해야 하는지에 초점 훌륭한 기능이 훌륭한 소프트웨어를 만드는 충분조건이라면, 훌륭한 구조는 훌륭한 소프트웨어를 만들기 위한 필요조건이다. 미래를 예측할 수없지만, 변경을 수용할 수 있도록 설계에 마련해야 한다 객체지향 접근방법은 자주 변경되지 않는 안정적인 객체 구조를 바탕으로 시스템 기능을 객체 간의 책임으로 분배한다. 시스템 기능을 더 작은 책임으로 분할되고 적절한 객체에게 분배되기 때문에 기능이 변경되더라도 객체 구조는 그대로 유지된다. 이것이 객체를 기반으로 책임과 역할을 식별하고 메시지를 기반으로 객체들의 협력 관계를 구축하는 이유다. 안정적인 객체 구..
4장 스터디 역할, 책임, 협력 인간이 어떤 본질적인 특성을 가지고 있느냐가 아닌 어떤 상황에 처해 있느냐가 인간의 행동을 결정한다. 개인이 처해 있는 정황 또는 문맥이 인간의 행동 방식을 결정한다. 객체지향 프로그램이에서 협력이라는 문맥이 객체의 행동 방식을 결정한다. 가장 흔한 실수는 협력이라는 문맥을 고려하지 않은 채 객체가 가져야할 상태와 행동부터 고민하는 것이다. 요약> 객체지향 프로그래밍에서 가장 중요한 것은 객체들 간의 요청과 응답 속의 협력이다. 객체지향적인 협력 일반적으로 해결 과정에서 여러 사람이 참여하게 된다. 이 과정에서 요청과 응답의 연쇄적인 흐름이 발생한다. 협력 은 한 사람이 다른 사람에게 도움을 요청 할 때 발생한다. 요약1> 협력은 다수의 요청과 응답으로 이루어지며, 연쇄적..
2장 스터디 프로퍼티와 프로퍼티 값의 차이 정적 & 동적 상태는 특정 시점에 객체가 가지고 있는 정보의 집합으로 객체의 구조적 특징을 표현 단순한 값과 다른 객체를 참조하는 링크로 구분 객체가 취하는 행동은 객체 자신의 상태를 변경시킨다 객체의 행동에 의해 객체의 상태가 변경된다는 것은 행동이 부수 효과를 초래한다는 것을 의미 → Side effect 객체의 행동은 상태에 영향을 받는다 객체의 행동은 상태를 변경시킨다 두 인스턴스의 상태가 같다면 값이 같다고 판단한다. 값이 같은지 여부는 상태가 같은지로 판단한다. 식별자 객체가 식별 가능하다는 것은 객체를 서로 구별할 수 있는 특정한 프로퍼티가 객체 안에 존재한다는 것을 의미하며, 이를 식별자라고 한다. 즉 객체가 아닌 단순한 값은 식별자를 가지지 않는..
안녕하세요 ! 우아한테크코스 안드로이드 파트로 지원 후, 최종 코딩 테스트를 진행한 회고를 작성하였습니다. 안드로이드 파트가 다른 파트에 비해 뽑는 인원이 적다보니, 후기글이 많이 없었습니다. 제 회고가 다음 시험을 보는 분들에게 도움이 되었으면 좋겠고, 궁금한 점이 있다면 참고되었으면 좋겠습니다! 프리코스 과정을 통해서 배운 점이 많아서 회고를 기록하게 되었는데요. 이번 최종 코딩 테스트 역시 배운 점과 좋은 경험이 되었던 것 같아서 회고를 남기게 되었습니다. 1차 합격과 최종 코딩테스트🚀 프리코스가 끝나고 최종 코딩 테스트 발표를 기다리는 동안 큰 기대를 하지 않고 있었습니다. 매주 최선을 다해서 진행하였지만, 실수도 몇 번 하였고 잘하시는 분들이 많아서 어렵다고 생각하고 있었습니다. 성장하는 과정이..
4주차 돌아보기 우테코 4주차를 끝으로 최종 제출을 완료하였습니다. 긴 프로세스에 걱정하기도 하였지만, 재밌고 많이 배우는 시간이 된 것 같습니다. 대표적으로 깃 커밋 메시지 활용 방법과 코틀린 컨벤션을 많이 배우게 되었습니다. 아쉬운점은 별도의 스터디 활동을 하지 못한 것이었습니다. 디스코드에서 스터디 활동을 모집하는 글을 봤는데, 다른 일정이 곂치거나 기술스택이 다른 등의 문제로 스터디를 구하기 힘들었습니다. 직접 스터디를 주도하거나, 최종 테스트를 준비하는 프로세스에 참여하는 등의 방법을 찾고 있습니다. 이번 미션에서는 다행히 별도의 실수를 하지 않게 되었습니다. 이전 미션에서 예기치 못한 오류 문구와 첫 미션에서 커밋 메시지를 관리하지 못하는 등의 큰 실수를 하였는데요. 과제용 프로젝트가 아닌 실..
3주차 돌아보기 개인적인 일이 많아서 3주차는 4주차가 끝날 무렵 작성하게 되었습니다. 벌써 프리코스의 마지막 주차를 앞두게 되었고, 처음 접해보는 큰 실수로 인한 아쉬움을 가지고 회고를 작성하게 되었습니다. 3주차에서 가장 아쉬웠던 점은 아래의 예제 테스트 결과를 해결하지 못한 것이었습니다. 가능한 꼼꼼하게 기능을 구현하고, 소감을 작성하고자 하였기에 계속해서 코드를 수정하고 제출 마감 3시간 전에 제출하게 되었습니다. 이번 미션도 무사히 끝났다는 안도와 함께 위에 메세지를 접하게 되었습니다.. 빌드 과정에서 오류가 있다는 문구를 읽게 되었고, 코드에 문제가 있다고 파악하여 전체적인 수정을 진행하였으나 제출 기간 내에 문제점을 찾기 못하게 되었습니다.. 제출 기간이 끝난 후에 "프로그래밍 요구 사항에서..