Java에 대해 좀 더 깊이 알고 싶은 욕심이 생겨 이번 기회에 이펙티브 자바를 읽고 정리하려한다. 이펙티브 자바 3/E를 참고해 정리했다.
이번 포스팅에서는 인스턴스를 만드는 방법으로 3가지 방안을 비교하며 매개변수가 많을 때 Builder가 갖는 장점을 알아볼 것이다.static factory method와 생성자로 인스턴스를 생성하는 방법 모두 한가지 단점이 있다. 인스턴스를 만들 때 필요한 매개변수가
싱글톤(Singletone)은 인스턴스를 오직 하나만 생성할 수 있는 클래스이다.클래스를 싱글톤으로 만들면 이를 사용하는 클라이언트를 테스트하기 어려워질 수 있다. 타입을 인터페이스로 정의한 후, 그 인터페이스를 구현해 만든 싱글톤이 아니라면 가짜(mock) 구현으로
정적 메서드와 정적 필드만을 담은 클래스를 만들어야 할 경우가 있다.다음의 경우가 이에 해당한다.java.lang.Math, java.util.Arrays처럼 기본 타입 값이나 배열 관련 메서드들을 모아놓은 경우java.util.Collections처럼 인터페이스를 구
클래스가 내부적으로 하나 이상의 자원에 의존하고, 클래스의 동작이 그 자원에 종속적일 경우 의존 객체 주입을 사용하자.많은 경우 클래스가 내부적으로 하나 이상의 자원에 의존한다. Beverage에 의존하는 Coffee라는 클래스가 있다고 가정하자.이 경우 정적 유틸리티