반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 양평역
- Java
- 재귀함수
- 알람프로그램
- 잡담
- 바이크
- 오토바이
- 정성하
- Qt OpenGL
- 엑티브엑스
- HTML
- c언어
- 디자이어HD
- Qt 소켓프로그래밍
- QTcpServer
- 이륜차
- android SAF
- Qt4
- vuejs
- 고속도로
- 마영전
- 안드로이드
- qt 설치
- 자료구조
- FFI
- 윈도우7
- QT
- 스타2
- 스타크래프트2
- 자바
Archives
- Today
- Total
프로그래밍과 잡담
[Java] 자바 빈 패턴.. 본문
이펙티브 자바 원본을 어떻게 구해서 심심해서 영어실력이나 쌓을 려고 번역하면서 보고 있는데
자바빈 패턴(Javabean pattern)이란게 있더군.
근데 되게 간단하고 자주 사용하는 방법이더군.
처음부터 결론을 말하자면 setter 메소드를 쓰는거다.
이펙티브 자바에서 말하길
생성자에 많은 매개변수가 붙어 있을 경우 대안으로 사용 할 수 있는 패턴이라 나오는군..
예를 들면
위에 있는 NutritionFacts(영양 분석) 클래스 처럼 생성자에 매개변수가 4개가 아니라 6개, 7개 이상 씩 붙어버리면
상당히 귀찮게 된다. 왜냐하면 타입들이 동일하다. 둘다 int 타입이기 때문에 실수를 할 수 있된다.
위에있는 클래스는 이펙티브 자바에 나온다.
위에 있는 방식을 이펙티브 자바에서는 Telescoping Constructor Pattern(신축식(직역하자면) 생성자 패턴) 이라고 한다.
말만 그렇지 맴버 필드를 초기화 시킬려고 생성자에 매개변수를 넣어서 생성자 막 오버라이딩하는 거지 뭐..
어찌됐든 저와 같은 방식은 실수를 할 수 있기 때문에 자바빈 패턴을 대안으로 말하고 있다.
자바빈 패턴이라는게 그다지 설명할 게 없다.
위에 썼듯이 setter 메소드를 통해서 만드는 것이다.
위에 있는 것 처럼 생성자는 그냥 껍대기를 쓰고
setter 메소드를 차례로 불러오는 거란다.
근데 이게 다인 모양이다.
뭐 그다지 나한테는 새로워 보이지는 않는다. 그냥 이름을 몰랐을 뿐이지.
자바빈 패턴(Javabean pattern)이란게 있더군.
근데 되게 간단하고 자주 사용하는 방법이더군.
처음부터 결론을 말하자면 setter 메소드를 쓰는거다.
이펙티브 자바에서 말하길
생성자에 많은 매개변수가 붙어 있을 경우 대안으로 사용 할 수 있는 패턴이라 나오는군..
예를 들면
public class NutritionFacts { private final int servingSize; // (mL) required private final int servings; // (per container) required private final int calories; // optional private final int fat; // (g) optional private final int sodium; // (mg) optional private final int carbohydrate; // (g) optional public NutritionFacts(int servingSize, int servings) { this(servingSize, servings, 0); } public NutritionFacts(int servingSize, int servings,int calories) { this(servingSize, servings, calories, 0); } ... ...
위에 있는 NutritionFacts(영양 분석) 클래스 처럼 생성자에 매개변수가 4개가 아니라 6개, 7개 이상 씩 붙어버리면
상당히 귀찮게 된다. 왜냐하면 타입들이 동일하다. 둘다 int 타입이기 때문에 실수를 할 수 있된다.
위에있는 클래스는 이펙티브 자바에 나온다.
위에 있는 방식을 이펙티브 자바에서는 Telescoping Constructor Pattern(신축식(직역하자면) 생성자 패턴) 이라고 한다.
말만 그렇지 맴버 필드를 초기화 시킬려고 생성자에 매개변수를 넣어서 생성자 막 오버라이딩하는 거지 뭐..
어찌됐든 저와 같은 방식은 실수를 할 수 있기 때문에 자바빈 패턴을 대안으로 말하고 있다.
자바빈 패턴이라는게 그다지 설명할 게 없다.
위에 썼듯이 setter 메소드를 통해서 만드는 것이다.
public class NutritionFacts { // Parameters initialized to default values (if any) private int servingSize = -1; // Required; no default value private int servings = -1; // " " " " private int calories = 0; .... .... //contructor public NutritionFacts() { } //setter public void setServingSize(int val) { servingSize = val; } public void setServings(int val) { servings = val; } public void setCalories(int val) { calories = val; } ... ...
위에 있는 것 처럼 생성자는 그냥 껍대기를 쓰고
setter 메소드를 차례로 불러오는 거란다.
근데 이게 다인 모양이다.
뭐 그다지 나한테는 새로워 보이지는 않는다. 그냥 이름을 몰랐을 뿐이지.
반응형
'프로그래밍 > HTML,Java,Jsp,EJB,Struts' 카테고리의 다른 글
[자바] 쓰레드 이용한 타이머. (0) | 2012.04.09 |
---|---|
[자바] 이펙티브 자바: 소름 끼칠 정도로 느린 프로그램 (0) | 2012.04.09 |
요약글 태그 만들기 (0) | 2009.09.02 |
[HTML] Form 테그 (0) | 2009.06.21 |
[HTML] 그림, 소리 태그 (0) | 2009.06.21 |
Comments