[์ดํํฐ๋ธ ์๋ฐ] Item02 ์๋ฒฝ๊ณต๋ต. ์๋ฐ๋น(JavaBean)
2023. 1. 6. 16:53ใJAVA/Effective JAVA
728x90
item02. ์์ฑ์์ ๋งค๊ฐ๋ณ์๊ฐ ๋ง๋ค๋ฉด ๋น๋๋ฅผ ๊ณ ๋ คํ๋ผ.
" p15. ์๋ฐ๋น์ฆ"
์๋ฐ๋น(Java Bean) ์ด๋?
"A Java Bean is a reusable software component that can be manipulated visually in a builder tool"
Java Bean์ ๋น๋ ๋๊ตฌ์์ ์๊ฐ์ ์ผ๋ก ์กฐ์ํ ์์๋ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํํธ์จ์ด ๊ตฌ์ฑ์์๋ค.
-> (์ฃผ๋ก GUI์์) ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์ปดํฌ๋ํธ
์๋ฐ๋น(Java Bean) ์ด ์ง์ผ์ผ ํ๋ ๊ท์ฝ
- ์๋ฐ๋น์ ์ธ์๊ฐ ์๋ ๊ธฐ๋ณธ ์์ฑ์(default constructor)๋ฅผ ๊ฐ๋๋ค.
- ํด๋์ค์ ํ๋กํผํฐ๋ค์ Getter/Setter ๋ฅผ ํตํด ์ ๊ทผํ ์ ์์ด์ผ ํ๋ค.
- Serializable ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํด์ผ ํ๋ค.
public class NutritionFacts implements Serializable
{
private static final long serialVersionUID = 1L;
private int servingSize; // (mL, 1 ํ ์ ๊ณต๋) ํ์
private int servings; // (ํ, ์ด nํ ์ ๊ณต๋) ํ์
private int calories; // (1ํ ์ ๊ณตใท๋๋น) ์ ํ
private int fat; // (g/1ํ ์ ๊ณต๋)) ์ ํ
private int sodium; // (mg/1ํ ์ ๊ณต๋) ์ ํ
private int carbohydrate; // (g/1ํ ์ ๊ณต๋) ์ ํ
public NutritionFacts() {
}
public void setServingSize(int servingSize) {
this.servingSize = servingSize;
}
public void setServings(int servings) {
this.servings = servings;
}
public void setCalories(int calories) {
this.calories = calories;
}
public void setFat(int fat) {
this.fat = fat;
}
public void setSodium(int sodium) {
this.sodium = sodium;
}
public void setCarbohydrate(int carbohydrate) {
this.carbohydrate = carbohydrate;
}
public int getServingSize()
{
return servingSize;
}
public int getServings()
{
return servings;
}
public int getCalories()
{
return calories;
}
public int getFat()
{
return fat;
}
public int getSodium()
{
return sodium;
}
public int getCarbohydrate()
{
return carbohydrate;
}
}
๐
์ด๋ฌํ ์๋ฐ๋น ์คํฉ ์ค์์ getter,setter๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋๊ณ ์๋๋ฐ ๊ทธ ์ด์ ๋ JPA๋ ์คํ๋ง๊ณผ ๊ฐ์ ์ฌ๋ฌ ํ๋ ์์ํฌ์์ ๋ฆฌํ๋ ์ ์ ํตํด ํน์ ๊ฐ์ฒด์ ๊ฐ์ ์กฐํํ๊ฑฐ๋ ์ค์ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
728x90