전체 글

항상 부족합니다. 목표를 이룰 때 까지 계속 달리겠습니다.
어느덧 프리코스의 마지막 미션이 주어졌습니다. 코수타 (코치와의 수다타임) 때 포비 님과 코치님들께서 말씀해 주셨듯이 쉽게 풀리지는 않았었습니다. 객체지향의 의미를 다시 생각하자. (현실 세계 반영 주의) 그동안 객체지향의 사실과 오해 책을 읽으며 블로그에도 기록했었는데요, 책에서는 다음과 같은 내용이 나옵니다. 객체지향이 단순한 현실 세계의 모방이 아닌 이유 중 하나는 현실 속에서 수동적인 존재가 객체지향 세계에서는 능동적인 존재가 될 수 있기 때문이다. 이는 객체를 의인화 (anthropomorphism) 하였기 때문이다. 즉, 진정한 객체지향을 구축하기 위해서 주의할 점은 현실 세계를 그대로 옮기는 행위는 하면 안 된다는 것입니다. 그러나 저는 날짜 (Day)와 주문 (Orders)를 만든 다음, ..
이 내용은 코드 리뷰 스터디를 했던 당시 벨로그에 작성했었던 내용입니다. 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, ..
이번에는 처음 해 보는 문제였으나, 나름 추측했던 (?) 문제였던 로또 문제였습니다. Enum에 대해 더 깊은 관찰과 고민을 하게 됨 1주 차 때 이펙티브 자바를 보며 공용 상수는 Enum으로 관리하는 것이 좋을 것 같다는 글을 썼었는데요, 이번 미션에서는 아예 요구사항으로 Java Enum을 적용하는 게 있었습니다! 그래서 이펙티브 자바에서 Enum에 대해 미처 알지 못했던 부분들을 읽거나, 다른 자료를 더 찾아보곤 하였습니다. 언제 Enum을 쓰고 언제 private static final을 써야 할까? (feat. 응집도) 1주 차 때 작성된 글을 보면, 객체에 private 하게 사용되는 상수는 후자 방식을 쓰고, 그렇지 않다면 Enum을 통해 관리하도록 하는 게 좋다고 했었는데요. 아쉬운 점은 ..
서문 마틴 파울러의 객체지향 설계 안에 존재하는 세 가지 상호 연관된 관점 개념 관점 (Conceptual Perspective): 도메인 안에 존재하는 개념과 개념들 사이의 관계를 표현 도메인 (domain): 사용자들이 관심을 가지고 있는 특정 분야나 주제 명세 관점 (Specification Perspective): 소프트웨어 안에서 살아 숨 쉬는 객체들의 책임에 초점을 맞춤 객체의 인터페이스 (interface)를 바라본다. 구현 관점 (Implementation Perspective): 객체들이 책임을 수행하는 데 필요한 동작하는 코드를 작성 위 관점들이 순서대로 개발되는 게 아니라, 클래스에서 이 관점들이 모두 관찰될 수 있도록 작성해야 한다. 커피 전문점 도메인 커피 전문점 도메인을 정의해 ..
서문 길을 찾는 두 가지 방법 지나가는 사람에게 물어보는 방법 기능적이고 해결책 지향적인 접근법이다. 일반적이지도, 재사용 가능하지도 않다. 지도에 표시된 길을 따라가는 방법 구조적이고 문제 지향적인 접근법이다. 현재의 목적뿐만 아니라 다양한 목적을 위해 재사용될 수 있다. (집으로 가려고 할 때 등) 지도를 사용하는 사람들의 요구사항은 계속 바뀐다. 따라서 기능이 아니라 구조를 기반으로 해야 변경에 안정적이다. 지형은 거의 변하지 않기 때문에 과거의 지도는 현재에도 여전히 유용하게 사용될 수 있다. 기능 설계 대 구조 설계 소프트웨어 제품의 설계 또한 기능 설계와 구조 설계로 구분된다. 기능 설계 제품이 사용자를 위해 무엇을 할 수 있는지에 초점을 둔다. 구조 설계 제품의 형태가 어떠해야 하는지에 초점..
서문 참가자와 다른 사람의 이야기를 하는 과정에서의 실험 > 다른 사람의 소리는 녹음된 것이었음 다른 사람이 갑자기 발작을 일으킬 경우 자신밖에 없다고 생각했던 참가자는 85%가 심리학자들에게 도움을 요청 그러나 자신 말고도 또 다른 사람이 있다고 생각했던 참가자는 31%만 도움을 요청함 그 이유는 자신이 도움을 요청하지 않아도 된다고 생각했기 때문 - 사건에 대한 목격자가 많으면 많을수록 개인이 느끼는 책임감은 적어진다 - 따라서 객체지향에서도 명확한 책임과 역할을 부여해야만 객체가 자신의 책임이라고 느낄 것이다. 자율적인 책임 4장: 역할, 책임, 협력에서 작성하였듯이 적절한 책임을 적절한 객체에게 할당하는 것부터 실행되어야 한다. 또한 객체는 자신에게 부여된 책임을 충분히 자율적으로 수행할 수 있어..
dev_writer
Always Be Curious