프로그래밍 노트/Effective 시리즈

생성자 대신 정적 팩터리 메서드를 사용할 수 없는지 생각해 보라 클래스를 통해 객체를 만드는 일반 적인 방법은 public으로 선언된 생성자(constructor)를 이용하는 것이나, 한가지 방법이 더 존재한다. 클래스에 public으로 선언된 정적 팩터리 메서드(static factory method)를 추가하는 것이다. 아래의 예는 기본타입 boolean 값을 Boolean 객체에 대한 참조(reference)로 변환하는 것이다. public static Boolean valueOf(boolea b){ return b ? Boolean.TRUE : Boolean.False; } public으로 선언된 생성자 대신 정적 팩터리 메서드를 제공하는 방법의 장단점은 다음과 같다 장점 생성자와 달리 정적 팩터..
객체화된 기본 자료형 대신 기본 자료형을 이용하라 자바의 자료형 시스템은 두 부분으로 나뉜다. 하나는 int, double, boolean 등의 기본 자료형(primitive type) 다른 하나는 String, List 등의 참조 자료형(reference type) 이다. 모든 기본 자료형에는 대응 되는 참조 자료형이 있는데, 이를 객체화된 기본 자료형(boxed primitive type)이라 부른다. (Integer, Double .. ) ※릴리스 1.5부터 자동 객체화(autoboxing)과 자동 비객체화(auto-unboxing)이 언어의 일부가 됨 기본 자료형과 객체화된 자료형 사이에는 세 가지 큰 차이점이 있다. 첫번째, 기본 자료형은 값만 가지지만 객체화된 기본 자료형은 값 외에도 신원(i..
정확한 답이 필요하다면 float와 double은 피하라 flat와 double 형은 기본적으로 과학 또는 엔지니어링 관련 계산에 쓰일 목적으로 설계된 자료형이다. 이 자료형들은 이진 부동 소수점 연산을 수행하는데, 이것은 넓은 범위의 값에 대해 정확도가 높은 근사치를 제공하지만 정확한(exact) 결과를 제공하지 않기 때문에 정확한 결과가 필요한 곳에서는 사용하면 안된다 (특히 돈과 관계된 계산) float이나 double로는 0.1 을 비롯한 10의 음의 거듭제곱 수(10^-1, 10^-2 등등)을 정확하게 나타낼 수 없기 때문이다. public static void main(String[] args){ System.out.println(1.03-0.42); System.out.println(1.00..
깡냉쓰
'프로그래밍 노트/Effective 시리즈' 카테고리의 글 목록 (3 Page)