Last updated
Last updated
상태값이 없는, 단순히 특정 기능만을 수행하는 클래스
이 경우 메서드들만 존재하므로 인스턴스가 존재할 필요가 없음
java.lang.Math, java.lang.Arrays 와 같이 수학 연산 / 배열 등 특정 주제의 동작을 수행하는 클래스들
Arrays 클래스는 내부적으로 아래와 같은 생성자만을 갖는다.
컴파일러에 의해 public 접근 제어자를 갖는 기본 생성자가 생김
인스턴스 만들기 가능
상속을 하고, 자식 클래스의 인스턴스를 만들 수 있음
생성자를 명시적으로 만들었으므로 public 기본 생성자가 생기지 않음
상속을 해도 부모 클래스의 생성자를 호출할 수 없어 인스턴스 생성 불가능
Item 3에서 언급했듯 생성자를 private으로 선언해도 리플렉션에 의해 호출될 수 있음
그리고 해당 클래스 내부에서 메서드 정의 중 실수로 생성자를 호출할 수도 있음
이러한 경우를 방지하기 위해 private 생성자 내에서 예외를 던지는 것도 좋은 방법임