[Effective Java] Item 4 : 인스턴스화를 막으려거든 private 생성자를 사용하라

SUNGKYUM KIM·2023년 1월 25일
0

Effective Java

목록 보기
4/9
post-thumbnail
  • 필요에 의해 인스턴스가 생성되지 않도록 클래스를 지정하고 싶을 때가 있다.
  • 예컨데 그냥 함수들을 모아놓아서 지정하고 싶을때 같이.
    • ex) java.lang.Math, java.util.Arrays
  • 정적 멤버만 있는 클래스는 인스턴스를 생성하여 사용하려고 만든게 아니니까 인스턴스화를 막아야한다
    • 추상 클래스는 방법이 아님. 상속해서 인스턴스화하면 되니까
  • 방법은 public 기본 생성자가 생기지 않도록 private 기본 생성자를 만드는 것.
    public class item4 {
        private item4() {
            throw new AssertionError();
        }
    }
    • 외부에서 생성자를 호출 할수 없도록 만드는 효과적인 방법
    • 추가로 상속도 못하게 함.
      • 하위 클래스는 상위 클래스의 생성자를 호출해야하는데 이걸 막아버리니까
profile
Code For Christ

0개의 댓글