- effective-java-4BE_규원Item 4: Enforce noninstantiability with a private constructor생성자를 private 으로 막아, 인스턴스화를 차단하는 방법에 대해 다루는 내용이다. 정적 메서드와 정적 필드만으로 구서된 클래스를 작성하고 싶은 경우가 있다.이 클래스를 유틸리티 클래스라고 한다. 유틸리티 클래스는 객체 지향 설계를 회피하기 위한 수단으로 남용되며좋지 않은 평판을 얻기도 했지만 적절하게 사용하면 유용하다. 관련 메서드를 그룹화하는 클래스를 유틸 클래스로 사용하면 된다. 이 유틸리티 클래스는 인스턴스화 되지 않도록 설계해야 한다. 클래스의 생성자를 private 으로 막아두어 인스턴스 생성을 막아야 한다. 명시적으로 생성자를 만들지 않으면 public 접근 제어자를 가진 기본 ..
- 2025-01-01 20:54:55(122일 전)
- effective-java-3BE_규원Item 3: Enforce the singleton property with a private constructor or an enum type singleton 적용할 때,생성자를 private 으로 막거나 enum type singleton 을 사용해야 한다. singleton인스턴스를 하나만 생성할 수 있는 클래스이다.singleton 은 mock 객체를 활용한 테스트 어렵다.mock 객체를 사용하려면 singleton 이 interface 를 구현해야 한다. singleton 구현 방법 3가지 1. public final 필드를 사용하는 방법public class Elvis { public static final Elvis INSTANCE = new Elvis(); private El..
- 2025-01-01 18:38:08(122일 전)
- effective-java-2BE_규원Item02: Consider a builder when faced with many constructor parameters 필드가 많을 때, 생성자, 정적 팩토리 메서드로는 대응하기가 어려워진다.필드가 많은 경우 유용한 Builder 에 대해 알아보겠다. 생성자 패턴으로는 크게 3 가지가 있다. 1. Telescoping Constructor Pattern (=점층적 생성자 패턴)우선 NOT NULL 필드에 대해서만 생성자를 만들고,NULL 이 허용되는 필드가 하나씩 추가된 생성자를 점층적으로 만든다. public class Item { private final int id; // 필수 private final String name; // 필수 private final String ..
- 2025-01-01 18:36:05(122일 전)
- effective-java-1BE_규원Item01: Consider static factory methods instead of constructors Static Factory Methodpublic static 으로 선언되는 factory method 를 의미한다.정적 팩토리 메서드 라고 부른다.정적 팩토리 메서드를 가지는 클래스의 기본 생성자는 private 으로 막아둬야 한다.그렇지 않으면, 인스턴스 생성 방식에 대한 통제를 잃게 되며 이는 클래스 설계 의도에 적합하지 않은 행위이다. 우리는 일반적으로 인스턴스를 생성하기 위해 new 를 이용한다. 생성자를 통해 인스턴스를 생성하는 방법도 있겠지만,정적 팩토리 메서드를 통해 인스턴스를 생성할 수도 있다. 정적 팩토리 메서드를 사용하면 어떤 점이 좋을까?장점이름을 가질 수 있다.생성자는..
- 2025-01-01 18:33:39(122일 전)
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)