Effective 자바 - 개초보가 본디..

2013. 4. 1. 23:59 - 에릭투스

Effective Java 를 보기로 마음먹었다.. 허구헌날 copy&paste하는 나를 볼때 자괴감이 들어서 우허엏어어엏

 

이래놓고 무슨 새로운 기술이니, 프레임웍이니.. 자바하나도 제대로 못하는주제에 말이여!! -ㅅ- 너무 비관적인가..ㅎ

 

그래서 공부한디!!

 

Effective 자바의 핵심은 리팩토링! 즉, 구현에 급급한 것이 아닌,

"어떻게하면 시스템의 구조를 향상시키는가, 코드중복을 피할수 있는가"

 

1) 불필요한 객체 생성을 줄여라!!

 - 그래서 factory 메소드를 통한 Factory패턴을 추천.

 

Map<String, List<String>> m = new HashMap<String,List<String>>();

 

public static<K,V> HashMap<K,V> newInstance(){

return new HashMap<K, V>();

}

-> Map<String, List<String>> m = HashMap.newInstance();

 

 

2) 항목이 많을 경우 Builder를 사용해라!

 : 항목만큼 주구장창 생성자를 오버로딩(타입이 다르지만 동일한 생성자/메소드)하는 것을

 - 텔레스코핑 생성자(Telescoping Constructor)

 

 : 기본생성자로 만들고, set메소드를 통한 자바빈즈 패턴도 있다.

 

 : 개선해주는 것이 바로 Builder!! 간지난다!!

 

public class Sample{

private final int a;

private final int b;

 

public static class builder{

private final int a;

private final int b;

 

public builder(){}

public builder a(int val){ this.a = val return this};

public builder b(int val){ this.b = val return this};

public Sample build(){

    return new Sample(this);
}

}//end builder

private Sample(builder b){

a = b.a;

b = b.b;

}

}

//줄줄이 사탕처럼 쓸수가 있다!!!

Sample s = new Sample.builder().a(100).b(200).build();

 

단, 위 예제는 그냥 테스트로 만든거고, 항목이 4개이상처럼 많을 경우 사용하는 것을  추천한다..

솔직히 항목 얼마되지도 않는데, 저렇게 inner클래스만들것까진 없잖겟슴??

허세도 아니고 ㅎㅎ

 

 

'자바 기본 공부 > 기초 이론' 카테고리의 다른 글

Map to Object 와 Object to Map  (0) 2013.04.23
Java Thread Pool 예제  (0) 2013.03.25
Java Annotation 기초(Basic)  (0) 2012.12.24
OracleDataSource를 사용한 JDBC 기초이론  (0) 2009.06.23
자바 JDBC 기초  (0) 2009.06.23

다른 카테고리의 글 목록

자바 기본 공부/기초 이론 카테고리의 포스트를 톺아봅니다