일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 스케줄링
- DirectX 12
- 컨디션 변수
- Direct12
- 다이나믹프로그래밍
- 락
- 운영체제
- 병행성 관련 오류
- 프로그래머스
- DirectX12
- 렌더링 파이프라인
- 디자인패턴
- 멀티프로세서
- directx
- 동적계획법
- 그리디알고리즘
- codility
- 영속성
- 병행성
- 쓰레드
- 다이나믹 프로그래밍
- 알고리즘
- 그리디 알고리즘
- 파일시스템 구현
- I/O장치
- 백준
- 자료구조
- OS
- 타입 객체
- 멀티쓰레드
- Today
- Total
목록Java/Effective Java (3)
기록공간
싱글턴이란? 싱글턴이란 디자인 패턴에서 생성 패턴 중 하나로 오직 하나의 인스턴스만 생성하도록 약속하는 패턴이다. 보통 싱글턴 패턴은 무상태(Stateless) 객체나 시스템 객체같 유일해야 하는 객체를 생성하는데에 사용된다. 싱글턴 패턴의 한계는 그 특성에서도 알 수 있다. 하나의 인스턴스만 생성 가능 하다는 특성 말이다. 싱글턴을 사용하려는 클라이언트를 테스트하기가 어려워 질 수 있다. 왜냐하면 테스트를 위한 가짜(mock)객체를 구현하는 것으로는 싱글턴을 대체 할 수 없기 때문이다. 싱글턴 생성 방법 첫번째 방법은 public 정적 final 멤버변수를 사용하는 방법이다. public class Elvis { public static final Elvis INSTANCE = new Elvis(); ..
정적 팩터리 메서드 혹은 생성자에는 서로 공통적인 제약이 하나 있다. 선택적 매개변수가 많을 경우 적절히 대응이 어렵다는 것이다. ex) 영양정보는 20개가 넘어가지만, 대다수의 값이 0인 경우 이를 해결하기 위해 여러 대안이 있는데, 한번 살펴보도록 하자. 점층적 생성자 패턴 (Telescoping Constructor Pattern) 매개변수를 점층적으로 받을 수 있게 생성자를 구성하는 것이다. 필수 매개변수만 받는 생성자 필수 매개변수 선택 매개변수 1개 받는 생성자 선택 매개변수 2개 받는 생성자 ... public class NutritionFacts { private final int servingSize; // 1회 제공량 필수 private final int servings; // 총 n회..
인스턴스를 얻을 수 있는 전통적인 수단 ==> 생성자(Constructor) 하지만, 클래스는 생성자와 별도로 정적 팩터리 메서드를 제공한다. - 래퍼 클래스 Boolean에서 발췌한 간단한 예 // static(정적) // valueOf(메서드) public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 정적 팩터리 메서드 장점 1. 이름을 가질 수 있다. 생성자 자체 만으로는 반환될 객체의 특성을 제대로 설명하지 못한다. 하지만 정적 팩터리 메서드는 메서드명을 잘 짓는다면 객체의 특성을 쉽게 묘사할 수 있다. 기본 생성자 => BigInteger(int, int, Random) 정적 팩터리 메서드 => Bi..