- 자바는 생성자를 선언하지 않으면, 기본으로 default 생성자를 만든다. (매개변수 x 생성자)
- 따라서, 생성자를 안만든다고 객체를 못만드는 것은 아니다.
- 객체를 생성하기 싫다면, private 생성자를 통해 이를 반드시 막아라
*
* This class contains various methods for manipulating arrays (such as
* sorting and searching). This class also contains a static factory
* that allows arrays to be viewed as lists.
*/
// Suppresses default constructor, ensuring non-instantiability.
private Arrays() {}
/**
* Don't let anyone instantiate this class.
*/
private Math() {}
- 물론 객체생성을 막기위해 추상클래스로 만들 수 있다.
- 다만, 추상클래스를 이용하면, 생성하지 말라는 건지, 상속하라는 건지 의도를 정확하게 파악하기 어렵다.
- 따라서 인스턴스화를 막기 위해서는 private 생성자를 명시하고, 주석을 달아두자