More Programmings/Effective Java

싱글턴: 객체를 하나만 만들 수 있는 클래스 클래스를 싱글턴을 만들면 클라이언트를 테스트하기 어려울 수 있음. JDK1.5 이전 싱글턴 구현 방법기본: 생성자는 private 선언, 객체는 static 멤버 이용1. 정적 멤버는 final로 선언- private static final로 생성된 field는 초기화시 한 번만 호출됨2. public으로 선언된 정적 팩터리 메서드 이용- getInstatnce라는 메소드를 이용하여 항상 같은 객체에 대한참조를 반환하도록 함.(이것 이외의 객체 생성 불가) 팩터리 메서드 사용시 장점1. api를 변경하지 않고도 싱글턴 패턴을 포기하는 것이 가능- 스레드마다 별도의 객체를 반환하도록 팩터리 메서드 수정하는 것도 간단2. 제네릭 타입 수용이 쉬움(규칙 27)- 하..
인자가 많은 클래스의 경우 전진적인 생성자를 이용해서 클래스를 생성할 수 있음 class A{ A(){} A(int a){}; A(int a, int b){}; A(int a, int b, int c){}...} 인자가 많을 경우 인자 별로 생성자를 생성해주어야 함.이 때 인자를 주는 순서가 달라지면 오류가 발생하기 때문에 주의할 필요성이 생김(코딩이 어려움 및 해석이 어려운 코드의 생성) Setter getter 이용시 일시적으로 code의 일관성이 깨어져버리는 결과가 발생- 매번 setting 시 일관성이 깨짐 Builder에 정의된 method는 builder 내부에서 사용하면 됨.
Class 정의시 방법1. 생성자 생성2. 멸도로 펙터리 메소드를 이용하여 생성 정적 팩토리 메서드 사용시 장점1. 팩토리 메서드에는 이름이 고유의 이름이 존재하기 때문에 클래스 내부에서 인자 등을 쉽게 확인 가능2. 호출 시 마다 새로운 객체를 생헝할 필요 없음3. 반환 값의 하위 자료형의 객체 반환 가능4. 형인자 자료형 객체를 만들때 편함 정적 팩토리 메서드 사용시 단점1. 하위 클래스 생성 불가2. 다른 정적 메서드와 유사 이름 존재시 확인이 어려울 수 있음. 종류1. value of: 인자로 주어진 값과 같은 갓을 찾음2. of : value of를 간단히 만든 것3. getInstance: 인자로 기술된 객체의 반환4. newInstance: 다른 곳에 있는 객체의 반환5. getType: g..
플로쨔응
'More Programmings/Effective Java' 카테고리의 글 목록 (2 Page)