티스토리 뷰
반응형
정적 멤버만 담은 유틸리티 클래스
- 정적 메서드와 정적 필드만을 담은 클래스
- java.lang.Math, java.util.Arrays, java.util.Collections
- final 클래스와 관련한 메서드를 모아 놓을 때 사용
인스턴스화 막기
- 유틸리티 클래스는 인스턴스로 만들어 쓰려 설계한것이 아님
- 생성자를 명시하지 않으면 컴파일러가 자동으로 기본 생성자를 만들어서 인스턴스화가 가능하기 때문에 인스턴스화를 막을 수 없음
- 추상 클래스로 만들면 하위 클래스를 만들어 인스턴스화가 가능하기 때문에 인스턴스화를 막을 수 없음
❗️ private 생성자를 추가하여 인스턴스화를 막을 수 있다. (클래스 바깥에서 접근할 수 없음)
이는 상속도 불가능하게 한다.(생성자가 접근이 불가능하기 때문)
반응형
'Java > Effective Java' 카테고리의 다른 글
[Effective Java] 06.불필요한 객체 생성을 피하라 (0) | 2022.03.05 |
---|---|
[Effective Java] 05.자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2022.03.05 |
[Effective Java] 03.private 생성자나 열거타입으로 싱글턴임을 보증하라 (0) | 2022.03.04 |
[Effective Java] 02. 생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2022.03.04 |
[Effective Java] 01.생성자 대신 정적 팩터리 메서드를 고려하라 (0) | 2022.03.04 |
댓글