디자인 패턴은 각각의 쓰임새를 잘 이해해놓고 비슷한 상황이 나오면 한번씩 써먹어 보도록 하자!생성 디자인 패턴부모 클래스에서 객체를 생성하는 인터페이스를 제공한다. 장점생성의 책임을 한 곳으로 옮김으로 SRP를 잘 지키도록 함기존에 존재하는 코드를 변경하지 않고 새로운
정적 팩터리, 생성자 모두 객체를 생성하기 위한 메서드이다. 하지만 만약 같은 타입의 매개변수가 많다면? → 개발자는 해당 클래스의 문서를 찾아보고 각 매개변수의 의미를 파악해야 할것이다. 또한 서로 다른 자리에 넣는 실수를 범할 가능성이 높아진다.이번 아이템은 이러
동적으로 할당한 메모리 영역 중 사용하지 않는 영역을 탐지하여 해제하는 기능객체들은 Heap 영역에 생성되는데 객체들이 각각 Reference Count라는 별도의 숫자를 가지고 있다. Reference count가 0이 될 경우 제거하는 방식reference coun
인스턴스를 오직 하나만 생성할 수 있는 클래스함수와 같은 무상태(stateless) 객체설계상 유일해야 하는 시스템 컴포넌트싱글톤 클래스는 이를 사용하는 클라이언트를 테스트하기 어렵게 만들 수 있음because 생성자를 private로 감춰 두었기 때문에 mock 구현
프로그래밍 언어는 이해하기 어려운 기계어, 어셈블리어 자바까지 개발자르 더욱 편하고 이롭게 하기 위해 발전되어 왔다. 또한 0과 1에 대변되는 기계에 맞춰 사고하던 방식 절차적/구조적 프로그래밍을 거쳐 현실 세계처럼 프로그래밍 할 수 없을까라는 고민 속에 객체 지향의
자바는 객체지향 언어다. 객체지향 언어는 객체로 이루어져 있고, 객체는 대부분 클래스로 표현된다.클래스는 다른 클래스를 의존한다. 즉 클래스는 많은 의존관계를 가지고 있다.다음 예제를 통해 왜 자원을 직접 명시하지 말고 의존 객체 주입을 사용 해야 하는지 알아보자위의