issues
search
tonykang22
/
study
0
stars
0
forks
source link
[Effective Java] 아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라.
#37
Open
tonykang22
opened
2 years ago
tonykang22
commented
2 years ago
아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라
핵심 정리
정적 메서드만
담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계한 클래스가 아니다.
유틸리티 클래스 : 다른 클래스들의 보조 수단, factory 성격을 띈 클래스들
인스턴스로 만들어 사용하는 것이 문법적으로 틀리지 않지만 굉장히 불필요한 과정이다.
추상 클래스로 만드는 것으로는 인스턴스화를 막을 수 없다.
자식 클래스를 만들면 인스턴스화가 가능하기 때문이다.
private 생성자를 추가하면 클래스의 인스턴스화를 막을 수 있다.
참고 : Spring에도 이렇게까지 되어있는 경우는 잘 없다. (주로 abstract 사용으로 막는 정도만)
생성자에 주석으로 인스턴스화 불가한 이유를 설명하는 것이 좋다.
상속을 방지할 때도 같은 방법을 사용할 수 있다.
아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라
핵심 정리