(아이템 5) 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라
·
dev./Effective-Java
Effective Java 3판 아이템5 의존 객체 주입에 관한 내용이다. 책에서 소개한 SpellChecker 라는 클래스를 사용한다. | 하나의 클래스가 하나 이상의 자원에 의존하는 경우 [ 정적 유틸리티 클래스 구현 (아이템4) ] 맞춤법 검사기 (SpellChecker)는 사전(Dictionary)에 의존하고 있는 객체의 관계를 아래 예제와 같이 정적 유틸리티 클래스로 구현할 수 있다.public class SpellChecker { // dictionary 객체가 고정됨 -> 변경이 어렵다. private static final Lexicon dictionary = new KoreanDictionary(); private SpellChecker() { // 객체 생성..
(아이템 4) 인스턴스화를 막으려거든 private 생성자를 사용하라
·
dev./Effective-Java
이번 포스팅은 Effective-java 3판 아이템 4에 관한 내용이며, Private 생성자에 대한 내용입니다. 책의 내용을 기반으로 작성되었지만 잘못된 부분이 있다면 댓글로 부탁드립니다.1. 인스턴스화를 막는 방법final 클래스final 클래스는 인스턴스화가 되지 않을 뿐 아니라 상속도 지원하지 않는다. 따라서 final 클래스로 만들어진 클래스는 인스턴스화를 할 수 없게 된다. public final class UtilityFinalClass { public static void print() { System.out.println("final class print()"); } /* 불가능 static class AnotherClass extends Utilit..