본문 바로가기

전체 글66

[오브젝트] 5장. 책임 할당하기 책임 할당 - 데이터 중심 설계로 인해 발생하는 문제점을 해결할 수 있는 가장 기본적인 방법은 데이터가 아닌 책임에 초점을 맞추는 것이다. - 책임 할당 과정은 일종의 트레이드오프 활동이다. 동일한 문제를 해결할 수 있는 다양한 책임 할당 방법이 존재하며, 어떤 방법이 최선인지는 상황과 문맥에 따라 달라진다. - 데이터 중심 설계에서 책임 중심 설계로 전환할 때 따라야 하는 두 가지 원칙 데이터보다 행동을 먼저 결정하라. 협력이라는 문맥 안에서 책임을 결정하라. - 협력에 적합한 책임을 수확하기 위해서는 객체를 결정한 후에 메시지를 선택하는 것이 아니라 메시지를 결정한 후에 객체를 선택해야 한다. 메시지가 존재하기 때문에 그 메시지를 처리할 객체가 필요한 것이다. 객체가 메시지를 선택하는 것이 아니라 메.. 2022. 3. 6.
[2020.11.12] 육군 정보보호병 면접 후기 입대한지 1년2개월이 지났고, 전역 3개월 전인 시점에 입대 전에 써놨던 정보보호병 면접 후기를 올려본다. 이번 정보보호병 면접 준비를 하면서 여러 블로그 후기 들을 찾아보다보니 나도 직접 써보고 싶은 생각이 들었다. 또 찾아 다녔던 블로그의 후기들이 면접 때 정말 많은 도움이 되어 나도 누군가에게 도움이 되고 싶어 글을 쓰는 중이다. 계속 꾸준히 내가 하는 공부와 일상 이야기를 올리며 블로그를 유지할 생각이다. 지원동기 내 꿈은 중학교 때 부터 정보보안 전문가가 되는 게 꿈이었다. 그래서 대학도 컴퓨터공학으로 왔다. 하지만 코딩은 대학에서 부터 시작했기에 코딩에 발을 디딘 순간 내 꿈이 너무 현실성이 없어보였다. 그래도 이제 시작이니까, 처음은 원래 다 그런거니까 노력해보기로 했다. 그래서 1학년 때부.. 2022. 3. 3.
[오브젝트] 4장. 설계 품질과 트레이드 오프 - 역할, 책임, 협력 중 책임이 가장 중요하다. 책임이 객체지향 애플리케이션의 품질을 결정한다. - 객체들이 수행할 책임이 적절하게 할당되지 못한 상황에서는 원활한 협력도 기대할 수 없을 것이다. 역할은 책임의 집합이기 때문에 책임이 적절하지 못하면 역할 역시 협력과 조화를 이루지 못한다. 객체지향 설계 - 응집도와 결합도 그리고 캡슐화 - 객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 행동 응집도 : 모듈에 포함된 내부 요소들이 연관돼 있는 정도. 모듈 내의 요소들이 하나의 목적을 위해 긴밀하게 협력한다면 그 모듈은 높은 응집도를 가진다. 더보기 객체지향의 관점에서 응집도는 객체 또는 클래스에 얼마나 관련 높은 책임들을 할당했는지를 나타낸다.. 2022. 3. 3.
[오브젝트] 2장. 객체지향 프로그래밍 객체지향 프로그래밍을 향해 - 객체지향은 말 그대로 객체를 지향하는 것이다. 진정한 객체지향 패러다임으로의 전환은 클래스가 아닌 객체에 초점을 맞출 때에만 얻을 수 있다. 이를 위해서는 프로그래밍하는 동안 다음의 두 가지에 집중해야 한다. 어떤 클래스가 필요한지를 고민하기 전에 어떤 객체들이 필요한지 고민하라. 클래스는 공통적인 상태와 행동을 공유하는 객체들을 추상화한 것이다. 따라서 클래스의 윤곽을 잡기 위해서는 어떤 객체들이 어떤 상태와 행동을 가지는지를 먼저 결정해야 한다. 객체를 중심에 두는 접근 방법은 설계를 단순하고 깔끔하게 만든다. 객체를 독립적인 존재가 아니라 기능을 구현하기 위해 협력하는 공동체의 일원으로 봐야 한다. 이것은 설계를 유연하고 확장 가능하게 만든다. 객체들의 모양과 윤곽이 .. 2022. 3. 2.