개발 공부
-
[이펙티브 자바] 불필요한 객체 생성을 피하라개발 공부/자바 2022. 1. 27. 21:31
똑같은 객체를 매번 생성하는 것은 불필요하다. 객체 하나를 재사용 하는 것이 더 나을 때가 있다. 다음 코드로 예를 들어보았다. 코드 public class Hi { public static void main(String[] args) { String str1 = new String("sangjin"); String str2 = new String("sangjin"); System.out.println(str1 == str2); System.out.println(str1.equals(str2)); } } 값 false true 다음과 같이 똑같은 문자열을 사용해도 new를 이용하여 스트링의 인스턴스를 만들어버리면 똑같은 기능을 하는 불필요한 스트링 인스턴스만 많아질 뿐이다. 여기서 new만 없애도 코드 ..
-
[이펙티브 자바] 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라개발 공부/자바 2022. 1. 13. 00:32
개념 정적 변수는 프로그램이 종료되기 전까지 메모리가 유지되는 변수이다. 정적 팩터리 메서드는 팩토리 패턴에서 유래한 단어로 객체 생성의 역할을 분리해주는 메서드이다. 장점 1. 이름을 가질 수 있다 생성자는 클래스의 이름을 따르기 때문에 메서드를 사용하여 이름을 지을 수 있다는 장점이 있다. 또한 이름을 가질 수 없기 때문에 생성자는 똑같은 타입을 2개 만들 수 없는 단점도 가지고 있다. 다음을 보면 정적 팩터리 메서드는 이름을 각각 다르게 지어 똑같은 타입을 받을 수 있다는 것을 알 수 있다. HTML 삽입 미리보기할 수 없는 소스 2. 호출될 때 마다 인스턴스를 생성하지 않아도 된다 생성자는 항상 인스턴스를 생성해야 하지만 정적 팩터리 메서드는 다시 호출될 때 메모리에 남아있는 인스턴스를 사용하기 ..