본문 바로가기

개발&새발/Java

(5)
생성자 인자가 많을 때는 Builder 패턴 적용을 고려하라 - Effective Java 규칙2 ..
[번역] 자바에서 가장 많이 일어나는 메모리 문제 - 1 http://apmblog.dynatrace.com/2011/04/20/the-top-java-memory-problems-part-1/ Memory and Garbage Collection problems are still the most prominent issues in any java application. One of the reasons is that the very nature of Garbage Collection is often misunderstood. This prompted me to write a summary of some of the most frequent and also most obscure memory related issues that I have encountered..
객체화된 기본 자료형 대신 기본 자료형을 이용하라 - Effective Java 규칙49 1. 기본 자료형은 값만 가지지만 객체화된 기본 자료형은 값 외에도 신원(identity)을 가진다.2. 기본 자료형에 저장되는 값은 전부 기능적으로 완전한 값(fully functional value)이지만, 객체화된 기본 자료형에 저장되는 값에는 그 이외에도 아무 기능도 없는 값, 즉 null이 하나 있다.3. 기본 자료형은 시간이나 공간 요구량 측면에서 일반적으로 객체 표현형보다 효율적이다.
인터페이스는 자료형을 정의할 때만 사용하라 - Effective Java 규칙19 상수값을 인터페이스로 제공하고 싶을 때가 있다. 상수명 앞에 클래스 명을 제거하고 싶을때. 이럴땐 interface에 넣어 사용하는 것은 좋지 않다. 아니 하지마라. 우선 상수값을 제공하는 방식은 유틸리티 클래스를 만들어 제공하는 것이 좋으며사용할 땐 정적 임포트(static import)를 사용하면 클래스명 없이 사용 가능하다.(JDK 1.5 부터 제공) import static com.effectivejava.science.PhysicalConstants.*; 이 방식이 가능...
생성자 대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라 - Effective Java 규칙1 결론"정적 팩터리 메서드와 public 생성자는 용도가 서로 다르며, 그 차이와 장단점을 이해하는 것이 중요하다. 정적 팩터리 메서드가 효과적인 경우가 많으니, 정적 팩터리 메서드를 고려해 보지도 않고 무조건 public 생성자를 만드는 것은 삼가기 바란다." 팩터리 메서드의 장점1. 생성자와는 달리 정적 팩터리 메서드에는 이름(name)이 있다.2. 생성자와는 달리 호출할 때마다 새로운 객체를 생성할 필요는 없다.3. 생성자와는 달리 반환값 자료형의 하위 자료형 객체를 반환할 수 있다.4. 형인자 자료형(parameterized type) 객체를 만들 때 편하다. 팩터리 메서드의 단점1. public이나 protected로 선언된 생성자가 없으므로 하위 클래스를 만들 수 없다는 것이다. 2. 정적 팩터..