EffectivJava

    [이펙티브자바] 규칙05 : 불필요한 객체는 만들지 말라

    [이펙티브자바] 규칙05 : 불필요한 객체는 만들지 말라

    사소하지만 중요한 객체 생성에 관한 내용이다. 그동안 별 생각없이 생성자를 호출해 객체를 만들어 사용해왔는데, 이는 마땅히 다른 대안, 방법이 없어서 그래왔었다. 그러다보니 어플리케이션이 느려지기 다반사였다. 아직 실제로 적용은 해보지 못했지만, 확실히 효율적인 방식임에는 이견이 없어 포스트를 작성한다. 불필요한 객체는 만들지 말라아래는 절대로 피해야할 극.단.적인 예시 코드이다.1String s = new String("문자열");cs 위 코드는 아래 코드로 대체되는데, 위 코드는 실행될 때마다 String 객체를 만들어낸다. 반면, 아래 코드는 새로운 객체를 만드는 대신 동일한 String 객체를 사용한다.1String s = "문자열";cs 좀 더 실재하는 코드를 보자면 다음과 같다. 아래 코드의 ..

    [이펙티브자바] 규칙02 : 생성자 인자가 많을 때는 Builder 패턴을 고려하라

    [이펙티브자바] 규칙02 : 생성자 인자가 많을 때는 Builder 패턴을 고려하라

    인스턴스를 생성할 때, 여러 인자의 값을 초기화 해줘야 할 때가 있다. 이번 규칙에서는 세 가지 패턴을 비교해 효율적인 방법을 제시한다. 점층적 생성자 패턴(telescoping constructor pattern) 12345678910111213141516171819202122232425262728293031323334public class NutritionFacts { private final int SERVING_SIZE; private final int SERVINGS; private final int CALORIES; private final int FAT; private final int SODIUM; private final int CARBOHYDRATE; public NutritionFac..

반응형