
- 싱글턴 (singleton) 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 어플리케이션이 시작될 때 최초 한번만 메모리를 할당하고 그 메모리에 캐시된 인스턴스를 만들어 사용. 싱글턴 패턴의 장점은 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비 방지와 전역 인스턴스로 다른 클래스의 인스턴스들이 데이터 공유하기 쉽다.대표적 싱글톤 패턴 DBCP(DataBaseConnection Pool). 단점은 싱글턴 인스턴스가 너무 많은 일을 하여 데이터를 공유시킬 경우 다른 클래스 인스턴스간 결합도가 높아진다. 멀티스레드 환경에서 동시성을 유의하여야 한다.(여러개의 인스턴스가 생성될 수 있다.) 전역으로 사용하니 인스턴스 안에 변수를 덮을 수 있고 오류가 날 수 있..

- 점층적 생성자 패턴 (telescoping constructor pattern) 생성자를 필수 매개변수 1개만 받는 생성자, 필수 매개변수 1개와 선택 매개변수 1개를 받는 생성자, 선택 매개변수 2개를 받는 생성자 등 매개변수 갯수만큼 생성자를 늘리는방식 - 자바빈즈 패턴 (JavaBeans pattern) 매개변수가 없는 디폴트 생성자로 객체를 만든 후 setter 메서드를 호출해 원하는 필드의 값을 설정하는 방식 심각한 단점은 필수적으로 인스턴스 초기화시 필수적으로 넣을 필드 값이 셋팅 되기 전에 인스턴스를 사용하게 된다면 오류를 초래할 수 있다. setter 메서드로 상태값을 변경할 수 있게 한다면 클래스를 불변객체로 만들 수 없다. - 빌더 패턴 (Builder pattern) 필수 매개변수..

- 정적 팩토리 메서드 (static factory method) 팩토리 메서드란 ? 객체 생성을 대신해주는 공장. 생성자를 통해 직접 객체 생성대신 메소드를 통해 객체를 생성하는 것. 객체 생성이 지정된 것이 아닌 어떤 객체를 생성할 것인지 정해지면 정해진 것에 따라 해당 객체 생성되게 만듦. 정적 팩토리 메서드는 객체를 생성(인스턴스를 반환)하는 클래스 메서드(static 키워드가 붙은 메서드) - 불변 클래스 (immutable class) immutable 이란? 변하지 않는 불변이라는 뜻. 즉 immutable class는 객체를 만들게 되면 상태(필드의 값)를 변경할 수 없는 클래스이다. 클래스 시그너쳐에 final 키워드를 사용하여 다른 클래스에서 상속받지 못하게 하여 하위 클래스에서 메서드..