Clean Code : 6장(객체와 자료구조)
6장. 객체와 자료구조 6장에서는 객체와 자료구조에 제대로 구분하고 활용하는 방법에 대해 나와있습니다. 6-1. 자료 추상화 자료를 세세하게 공개하기 보다는 추상적인 개념으로 표현하는 것이 좋습니다. // 6-1 코드 구체적인 Point Class public class Point { public double x; public double ...
6장. 객체와 자료구조 6장에서는 객체와 자료구조에 제대로 구분하고 활용하는 방법에 대해 나와있습니다. 6-1. 자료 추상화 자료를 세세하게 공개하기 보다는 추상적인 개념으로 표현하는 것이 좋습니다. // 6-1 코드 구체적인 Point Class public class Point { public double x; public double ...
프록시, 데코레이터, 책임 연쇄 패턴의 차이점 책임 연쇄 패턴(Chain of Responsibility)은 요청을 보내는 쪽과 요청을 처리하는 쪽을 분리하는 패턴입니다. 데코레이터 패턴과 프록시 패턴이 책임 연쇄 패턴과 매우 유사한데, 기존 스터디에서 데코레이터 패턴과 설계 방법이 매우 유사하기 때문에 따로 예시는 들지 않고 세 개의 패턴에 대한...
4장. 주석 주석으로 코드를 표현하는 방식은 좋지 않다고 합니다. 그 이유는 코드는 계속적으로 변화하고 진화하게 되는데 반해, 주석은 코드 작성자가 실수로 업데이트를 하지 못할 가능성이 충분히 존재합니다. 오히려 코드와 다른 부정확한 주석이 원래 코드의 의도를 헤치는 경우도 발생하기 때문에 주석으로 코드를 설명하는 것보다는 주석없이 코드 자체로 정확...
3장. 함수 어떤 프로그램이든 가장 기본적인 단위가 함수입니다. 때문에 함수를 잘 만드는 법을 아는 게 좋습니다. 3-1. 작게 만들어라! 함수를 만드는 첫 번째 규칙은 무조건 작게입니다. 큰 함수를 작게 쪼개면서 적절한 이름을 붙여주면 코드를 이해하기 쉬워집니다. 블록과 들여쓰기 if문, else문, while문 등에 들어가는 블록은 한 줄...
JVM과 연관지어 보는 스태틱 블록(Static Block)과 인스턴스 블록(Instance Block) Java로 디자인 패턴 스터디 중 Class 안에 static { }와 { }로만 이루어진 처음보는 블록이 있어 이 글을 포스팅하게 되었습니다. JVM으로 자바 프로그램 실행하는 과정과 연관되어 있기 때문에 아래의 JVM 글을 먼저 보고 오시면...
final Java 디자인 패턴 스터디 중 final 키워드 활용법을 찾아보다가 정리가 필요할 거 같아, 포스팅을 시작하였습니다. 1. 개요 final 키워드를 떠올릴 때면 그냥 상수로만 생각할 수도 있지만, final을 클래스, 메서드, 변수에 선언하면 조금씩 할 수 있는 부분들이 제안되기 때문에 다양한 방식의 final 활용법을 알아야할 필요...
플라이웨이트(Flyweight) 패턴 플라이웨이트는 복싱에서의 플라이웨이트 체급(제일 가벼운 체급)에서 이름을 가져왔습니다. 플라이웨이트 패턴은 많은 인스턴스를 생성하는 애플리케이션에서 사용할 수 있는 패턴 중 하나입니다. 1. 정의 플라이웨이트 패턴은 자주 변하는 객체와 자주 변하지 않는 객체를 분리해서 자주 변하지 않는 객체를 재사용하므로써 ...
Clean Code : 추천사 및 1장(깨끗한 코드) 다니는 회사의 인턴 부터 시작해 정규직이 되고 난 후, 신규 프로젝트에 투입되었는데, 다른 사람의 코드를 분석하고 활용해야 하는 경우가 많았습니다. 예전부터 확장성 있고 효율적인 좋은 코드에 대해 관심이 있었지만, 이번 신규 프로젝트를 통해 좋은 코드의 중요성에 대해 한 번 더 느끼게 되어 공채 ...
2장. 의미 있는 이름 소프트웨어에서 이름은 어디에서나 쓰입니다. 이름을 잘 지으면 여러모로 편하기 때문에 이 장에서는 이름을 잘 짓는 간단한 규칙 몇 가지를 소개한다고 합니다. 2-1. 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많습니다. 때문에 변수나 함수 그리고 클래스 이름은 다음과 같...
컴포짓(Composite) 패턴 컴포짓 패턴은 전체 계층 구조에서 그 계층 구조를 구성하는 부분적인 객체들을 클라이언트에서 동일하게 취급할 수 있게 구조를 만드는 패턴입니다. 1. 정의 컴포짓 패턴은 클라이언트는 사용하는 객체가 계층 구조 상위의 객체인지, 하위의 객체인지에 상관없이 사용할 수 있습니다. 때문에 컴포짓 패턴은 계층 구조 즉, 트리...