Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- StrongLoop
- AWS 가입
- Loopback api
- 회원가입
- loopback document
- the public type
- Java
- Amazon
- Loopback 모델
- 루프백
- loopback
- AWS
- error
- loopback 설치
- 자바
- 아마존
- java error
Archives
- Today
- Total
퍄퍄
[아이템4] 인스턴스화를 막으려거든 private 생성자를 사용하라 본문
단순히 정적 필드, 정적 메소드만을 담은 유틸리티 클래스를 만들 때는
해당 클래스를 인스턴스로 만들어 쓰려고 설계하지 않는다.
생성자를 명시하지 않으면 컴파일러가 자동으로 public 생성자를 만들어 줄 것이며,
추상클래스로 만든다고 해도 해당 클래스를 상속받은 하위 클래스를 통해 인스턴스화 할 수 있다.
컴파일러가 기본 생성자를 만드는 경우는 명시된 생성자가 없을 경우이니
private 생성자를 추가해 클래스의 인스턴스화를 막도록 한다.
private 생성자를 추가하고 Error 처리를 해줌으로써 해당 클래스 내부에서도 생성자 호출을 막는다.
또한, 모든 생성자는 상위 클래스의 생성자를 호출하는데 private 로 선언했기 때문에
하위 클래스가 상위 클래스의 생성자에 접근할 수 없으므로 상속 또한 불가능하게 만들 수 있다.
'Java > Effective Java' 카테고리의 다른 글
[아이템12] toString을 항상 재정의하라 (0) | 2020.04.09 |
---|---|
[아이템5] 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2020.04.01 |
[아이템3] private 생성자나 열거 타입으로 싱글턴임을 보증하라 (0) | 2020.03.22 |
[아이템1] 생성자 대신 정적 팩토리 메소드를 고려하라 (0) | 2020.03.22 |