객체를 재사용해야 할 때 똑같은 기능의 객체를 매번 생성하기보다는 객체 하나를 재사용하는 편이 나을 때가 많다. String s = new String("example"); 위 문장은 실행될 때마다 String 인스턴스를 새로 만든다. "example" 이라는 문자열의 쓰임새와 목적이 완전히 동일함에도 불구하고, 불필요한 인스턴스를 계속 생성한다. Stirng s = "example"; 위 코드는 매번 새로운 인스턴스를 생성하는 대신 하나의 String 인스턴스를 사용한다. JVM은 동일한 문자열 리터럴에 대해 인스턴스를 공유하도록 설계되어 있다. 정적 팩토리 메서드를 활용해 객체생성 효율을 높여보자 생성자 대신 정적 팩토리 메서드를 제공하는 불변 클래스에서는 이를 활용해 불필요한 객체 생성을 피할 수 ..
static 메서드와 필드로만 구성된 클래스 개발을 하다보면 static 메서드와 필드로만 구성된 클래스가 필요한 경우가 있다. 객체지향적인 설계는 아니지만, 다음과 같은 상황이 필요한 경우에는 유용하게 사용할 수 있다. 기본 타입 값이나 처리대상 클래스와 관련된 메서드들을 모아놓은 유틸리티성 클래스의 설계 ex) java.util.Arrays 특정 인터페이스를 구현하는 객체를 생성해주는 정적 메서드 또는 팩토리 ex) java.util.Collections 추가 상속을 방지하기 위한 final 클래스와 관련한 메서드들의 집합 정적 유틸리티 클래스의 설계의도 정적 유틸리티 클래스는 인스턴스로 만들어 쓰기 위해 설계한 것이 아니다. 그런데 자바 언어에서 클래스의 생성자를 명시하지 않는 경우, 매개변수가 없..
- Total
- Today
- Yesterday