본문 바로가기

전체 글65

[회고 #1] 우아한테크코스 6기 불합격 회고 제목에서 보시다시피, 아쉽게도 우아한테크코스 6기에 1차 불합격되어 최종 불합격 처리가 되었습니다. 이번 학기는 들이부었던 노력에 비해 매우 낮은 성과를 얻었는데, 앞으로의 성장에 있어 새롭게 마인드를 정리해 볼 겸 회고를 작성해보려 합니다. 우아한테크코스 불합격 다른 블로거 분들이 우아한테크코스 합격 글을 올리시는 것들을 보며, 저 또한 합격 메일을 받을 수 있도록 미련 없이, 후회 없이 이번 학기에는 우아한테크코스에만 집중해 보자는 결심을 학기 초부터 했었습니다. 하지만 위에서 작성했듯이 아래처럼 1차 심사에서 불합격이라는 결과를 얻었습니다. 프리코스를 진행하면서 평소에 두렵기만 했던 JUnit에 대해 깊게 파보고, 왜 존재하는지 잘 몰랐던 Enum에 대해서 깊이 탐구해 보게 되어 이 점을 성장한 점.. 2023. 12. 19.
[프리코스] 프리코스 4주차 후기 (크리스마스 프로모션 🎄) 어느덧 프리코스의 마지막 미션이 주어졌습니다. 코수타 (코치와의 수다타임) 때 포비 님과 코치님들께서 말씀해 주셨듯이 쉽게 풀리지는 않았었습니다. 객체지향의 의미를 다시 생각하자. (현실 세계 반영 주의) 그동안 객체지향의 사실과 오해 책을 읽으며 블로그에도 기록했었는데요, 책에서는 다음과 같은 내용이 나옵니다. 객체지향이 단순한 현실 세계의 모방이 아닌 이유 중 하나는 현실 속에서 수동적인 존재가 객체지향 세계에서는 능동적인 존재가 될 수 있기 때문이다. 이는 객체를 의인화 (anthropomorphism) 하였기 때문이다. 즉, 진정한 객체지향을 구축하기 위해서 주의할 점은 현실 세계를 그대로 옮기는 행위는 하면 안 된다는 것입니다. 그러나 저는 날짜 (Day)와 주문 (Orders)를 만든 다음, .. 2023. 11. 17.
getter와 setter는 어디에 두는 게 좋을까? 이 내용은 코드 리뷰 스터디를 했던 당시 벨로그에 작성했었던 내용입니다. Getter와 Setter 흔히 클래스가 가지고 있는 필드값들을 가져오거나 설정할 때 쓰이는 메서드들을 각각 Getter, Setter 메서드라 합니다. 또는 접근 제어자라고 하기도 합니다. public class Car { private static final int START_DISTANCE = 0; private static final int ACCELERATE_MINIMUM_VALUE = 4; private static final int ACCELERATE_MAXIMUM_VALUE = 9; private final Name name; private int distance; private Car(final Name name, .. 2023. 11. 15.
[프리코스] 프리코스 3주차 후기 (로또 🎱) 이번에는 처음 해 보는 문제였으나, 나름 추측했던 (?) 문제였던 로또 문제였습니다. Enum에 대해 더 깊은 관찰과 고민을 하게 됨 1주 차 때 이펙티브 자바를 보며 공용 상수는 Enum으로 관리하는 것이 좋을 것 같다는 글을 썼었는데요, 이번 미션에서는 아예 요구사항으로 Java Enum을 적용하는 게 있었습니다! 그래서 이펙티브 자바에서 Enum에 대해 미처 알지 못했던 부분들을 읽거나, 다른 자료를 더 찾아보곤 하였습니다. 언제 Enum을 쓰고 언제 private static final을 써야 할까? (feat. 응집도) 1주 차 때 작성된 글을 보면, 객체에 private 하게 사용되는 상수는 후자 방식을 쓰고, 그렇지 않다면 Enum을 통해 관리하도록 하는 게 좋다고 했었는데요. 아쉬운 점은 .. 2023. 11. 14.
7장: 함께 모으기 서문 마틴 파울러의 객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점 개념 관점 (Conceptual Perspective): 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현 도메인 (domain): 사용자들이 관심을 가지고 있는 특정 분야나 주제 명세 관점 (Specification Perspective): 소프트웨어 안에서 살아 숨 쉬는 객체들의 책임에 초점을 맞춤 객체의 인터페이스 (interface)를 바라본다. 구현 관점 (Implementation Perspective): 객체들이 책임을 수행하는 데 필요한 동작하는 코드를 작성 위 관점들이 순서대로 개발되는 게 아니라, 클래스에서 이 관점들이 모두 관찰될 수 있도록 작성해야 한다. 커피 전문점 도메인 커피 전문점 도메인을 정의해 .. 2023. 11. 9.
6장: 객체 지도 서문 길을 찾는 두 가지 방법 지나가는 사람에게 물어보는 방법 기능적이고 해결책 지향적인 접근법이다. 일반적이지도, 재사용 가능하지도 않다. 지도에 표시된 길을 따라가는 방법 구조적이고 문제 지향적인 접근법이다. 현재의 목적뿐만 아니라 다양한 목적을 위해 재사용될 수 있다. (집으로 가려고 할 때 등) 지도를 사용하는 사람들의 요구사항은 계속 바뀐다. 따라서 기능이 아니라 구조를 기반으로 해야 변경에 안정적이다. 지형은 거의 변하지 않기 때문에 과거의 지도는 현재에도 여전히 유용하게 사용될 수 있다. 기능 설계 대 구조 설계 소프트웨어 제품의 설계 또한 기능 설계와 구조 설계로 구분된다. 기능 설계 제품이 사용자를 위해 무엇을 할 수 있는지에 초점을 둔다. 구조 설계 제품의 형태가 어떠해야 하는지에 초점.. 2023. 11. 8.