이펙티브 자바의 첫 시작은 객체를 생성하고 파괴하는 것에 대한 고찰이다.객체를 만들어야 할 때는 언제인가객체를 만들지 말아야 할 때는 언제인가올바른 객체 생성 방법은 무엇인가객체의 불필요한 생성을 피하는 방법은 무엇인가객체를 제 때에 파괴시키는 방법은 무엇인가파괴 전에
이펙티브 자바의 첫 시작은 객체를 생성하고 파괴하는 것에 대한 고찰이다."2장 - 객체의 생성과 파괴" 는 다음과 같은 기준으로 맥락을 잡고 있다.객체를 만들어야 할 때는 언제인가객체를 만들지 말아야 할 때는 언제인가올바른 객체 생성 방법은 무엇인가객체의 불필요한 생성
🔗 아이템 3. private 생성자나 열거 타입으로 싱글턴임을 보증하라싱글턴 (singleton): 인스턴스를 오직 하나만 생성할 수 있는 클래스ex) 함수(무상태 객체), 설계상 유일해야 하는 시스템 컴포넌트생성자를 private으로 만들어 new를 통해 밖에서
🔗 아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라static 메서드와 static 필드만을 담은 유틸리티 클래스는 객체 지향과 거리도 멀지만, 쓰임새가 있다. 하지만, 해당 클래스를 abstract로 만들어도, 상속 받아서 인스턴스를 만들 수 있
🔗 아이템 5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라사용하는 자원에 따라 동작이 달라지는 클래스에는 정적 유틸리티 클래스나 싱글턴 방식이 적합하지 않다. 이 조건을 만족하는 간단한 패턴은,인스턴스를 생성할 때 생성자에 필요한 자원을 넘겨주는 방식이다
🔗 아이템 6. 불필요한 객체 생성을 피하라 > 불필요한 객체 생성을 피하면서 자원을 절약해야 한다. 같은 기능의 객체를 새로 생성하는 대신, 객체 하나를 재사용하는 편이 나을 때가 많다. 특히, 불변 객체는 언제든 재사용할 수 있다. 💎 문자열 객체 생성