effectivejava 썸네일형 리스트형 [Effective JAVA] Item 16 public 클래스에서는 public 필드가 아닌 접근자 메서드를 사용하라 class Point { public double x; public double y; } 위와 같은 퇴보한 클래스는 데이터 필드를 직접 접근할 수 있음으로 캡슐화의 이점을 제공할 수 없다. class Point { private double x; private double y; public Point(double x, double y){ this.x = x; this.y = y; } public double getx(){ return this.x; } public double gety(){ return this.y; } public void setx(double x){ this.x = x; } public void sety(double y){ this.y = y; } } 이렇게 패키지 바깥에서 접근할 수.. 더보기 [Effective Java] Item 3 Private 생성자나 열거 타입으로 싱글턴임을 보장하라 Item 3 Private 생성자나 열거 타입으로 싱글턴임을 보장하라 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. (= 설계상 유일해야 하는 컴포넌트) 싱글턴을 만드는 방법은 3가지가 있다. 1) 유일한 인스턴스에 접근할 수 있는 수단으로 public static 멤버를 만드는 방법 public class NutritionFacts { public static final NutritionFacts INSTANCE = new NutritionFacts(); private NutritionFacts(){ } } private 생성자는 public static final 필드인 NutritionFacts.INSTATCE 를 초기화할 때 딱 한번만 호출됨으로 하나뿐임을 보장한다. 장점 싱.. 더보기 이전 1 다음