내가 그린

EnumMap으로 성능 개선하기: 로또 게임 TDD 리팩토링 여정

요약 Next-step의 “TDD, 클린 코드 with Java “ 과정 중 로또 게임 미션을 통해 TDD와 클린코드에 대해 학습한 내용입니다. 이 글의 목적 이 글을 통해 스스로 어떤 부분이 개선 되었는지를 인식하는 것이 첫 번째 목표이고, 이 경험을 공유하는 것이 두 번째 목표입니다. 상세한 목적은 자동차 경주 미션에서 확...

자동차 경주 게임으로 배우는 TDD와 객체지향 설계 원칙

요약 Next-step의 “TDD, 클린 코드 with Java “ 과정 중 자동차 경주 미션을 통해 TDD와 클린코드에 대해 학습한 내용입니다. 이 글의 목적 객체지향 프로그래밍과 클린 코드에 관심이 생긴 2년 차 개발자로서, 제 코드가 어떻게 변화하는지 다루고자 합니다. 이 글을 통해 스스로 어떤 부분이 개선 되었는지를 인식하는 ...

글또 10기 시작: 글쓰기를 통한 성장과 지식 공유의 여정

요약 글또 10기 첫 글의 주제는 ‘글또‘이다. 1)글또를 왜 신청했는지, 2) 글또 참가를 통해 무엇을 얻으려 하는지, 3)글또를 어떤 식으로 참여할 것인지에 대해 썼다. 이 글의 목적 글또 10기를 막 시작하는 지금의 내 생각과 마음가짐을 글로 남기려 한다. 6개월 동안 내가 변할 수도, 아닐 수도 있다. 만약 달라졌다면 어떤...

오브젝트: 디자인 패턴과 프레임워크의 실전 활용법

디자인 패턴은? 소프트웨어 설계에서 반복적으로 발생하는 문제에 대해 반복적으로 적용할 수 있는 해결 방법 재사용이 목적 협력을 일관성 있게 만들기 위해 재사용할 수 있는 설계의 묶음 프레임워크는? 설계와 코드를 함께 재사용 일관성 있는 협력을 제공하는 확장 가능한 코드 1. 디자인 패턴과 설계 재사용 패턴 분류 패턴...

오브젝트: 일관성 있는 협력 패턴으로 유지보수성 높이기

재사용을 위해서는 객체들의 협력 방식을 일관성있게 만들어야 한다. 일관성 있게 만들게 되면 설계에 드는 비용을 감소 시킬 수 있고 코드를 이해하는 것이 더 쉬워진다. 1. 핸드폰 과금 시스템 변경하기 기본 정책 확장 예제 - 핸드폰 요금 기본 정책을 구성하는 방식을 네 가지로 확장한다 고정 요금방식 시간대별 방식 요일별 ...

주니어 개발자 1년 차 성장기

나는 숲보다 내 눈앞에 있는 나무를 아주~~ 뚫어지게 보는 편이다. 요즘은 개발자로서 스스로에 대한 부족함을 느끼고 이를 채우려 하루의 대부분 시간을 쓴다. 숲을 보지 못하는 성향으로 인해 나라는 사람이 지금 어떤 상태이고, 어느 방향으로 나아가고 있는지 되돌아봐야 한다고 생각하지 못했다. 글또 지원 중 내 삶을 돌아보고, 이를 글로 남겨야 하는 기...

오브젝트: 합성과 유연한 설계로 상속의 문제점 해결하기

11장 합성과 유연한 설계 0. 합성은 전체를 표현하는 객체가 부분을 표현하는 객체를 포함해서 부분 객체의 코드를 재사용한다. 두 객체 사이의 의존성은 런타임 시점에서 결정된다. 내부에 포함되는 객체의 구현이 아닌 퍼블릭 인터페이스에 의존한다 코드 재사용을 위해서는 객체 합성이 클래스 상속보다 더 좋은 방법이다 1. 상속을 합성...