λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

Java/Java 이둠

μžλ°”λΉˆ κ·œμ•½

μžλ°”λΉˆ(JavaBean)

μžλ°”λΉˆμ˜ μ‚¬μš© μ΄μœ μ™€ κ·œμ•½μ„ μ•Œμ•„λ³Έλ‹€.

μžλ°”λΉˆμ˜ μ‚¬μš© 이유

μžλ°”λΉˆμ„ μ‚¬μš©ν•˜λŠ” μ΄μœ λŠ” λ””μžμΈ(ν”„λ‘ νŠΈμ—”λ“œ)와 둜직(λ°±μ—”λ“œ)λ₯Ό λΆ„λ¦¬ν•˜κΈ° μœ„ν•΄μ„œμ΄λ‹€.

JSP, Mustache λ“± μžλ°”λ‘œ λ§Œλ“  μ„œλ²„λ₯Ό ν”„λ‘ νŠΈμ—”λ“œμ™€ κ΅¬ν˜„ν•  λ•Œ, κ³΅ν†΅μ˜ 약속을 지킀며 μ‚¬μš©ν•¨μœΌλ‘œμ¨ ν”„λ‘ νŠΈμ—”λ“œμ— λ°±μ—”λ“œμ˜ λ‘œμ§μ„ κ΅¬ν˜„ν•˜λŠ” λ“±μ˜ 일이 없이 μΌκ΄€λœ λ°©μ‹μœΌλ‘œ μžλ°” 클래슀λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ 도와쀀닀.

μžλ°”λΉˆ κ·œμ•½

κΈ°λ³Έ μƒμ„±μžλ₯Ό λ°˜λ“œμ‹œ 가지고 μžˆμ–΄μ•Ό ν•œλ‹€.

μžλ°”λΉˆμ˜ 객체λ₯Ό λ‹€λ₯Έ κ³³μ—μ„œ μ΄μš©ν•˜λ €κ³  ν•  λ•Œ, κΈ°λ³Έ μƒμ„±μž 외에 λ‹€λ₯Έ μ˜€λ²„ λ‘œλ”© 된 μƒμ„±μžκ°€ μžˆλ‹€λ©΄, μžλ°”λΉˆμ„ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„  λ‹€λ₯Έ μƒμ„±μžμ˜ 인자λ₯Ό μ•Œκ³  μžˆμ–΄μ•Ό μ‚¬μš©ν•  수 μžˆλ‹€.

μžλ°”λΉˆμ€ 이런 μƒμ„±μžκ°€ μ•„λ‹Œ getter/setter둜 ν•„λ“œκ°’μ„ ν• λ‹Ήν•  λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ‘ŒμœΌλ―€λ‘œ, κΈ°λ³Έ μƒμ„±μžλ₯Ό 가지고 μžˆμ–΄μ•Ό ν•œλ‹€.

빈이 νŒ¨ν‚€μ§€ν™” λ˜μ–΄ μžˆμ–΄μ•Όν•œλ‹€.

μžλ°”λΉˆμ€ 일반적으둜 νŒ¨ν‚€μ§€λ₯Ό μ§€μ •ν•˜μ§€ μ•Šμ€ default packageκ°€ μ•„λ‹Œ, μ§€μ •λœ νŒ¨ν‚€μ§€μ— μ €μž₯λ˜μ–΄ μžˆμ–΄μ•Ό ν•œλ‹€.

package com.vividswan.studymate.model;

public class User{
  // ...
}

멀버 λ³€μˆ˜μ˜ μ ‘κ·ΌμžλŠ” private으둜 μ„ μ–Έν•œλ‹€.

맴버λ₯Ό 직접 μ ‘κ·Όν•˜λŠ” 것이 μ•„λ‹ˆλΌ getter, setterλ₯Ό μ΄μš©ν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— private으둜 μ„ μ–Έν•΄μ€€λ‹€.

package com.vividswan.studymate.model;

public class User{
  private String name;
  private String password;
}

멀버 λ³€μˆ˜μ— μ ‘κ·Όν•˜κΈ° μœ„ν•œ public μ ‘κ·ΌμžμΈ getter/setter λ©”μ„œλ“œκ°€ μ‘΄μž¬ν•΄μ•Ό ν•œλ‹€.

멀버 λ³€μˆ˜λŠ” privateμ΄λ―€λ‘œ 직접 μ ‘κ·Όν•  수 μ—†λ‹€.

κ·ΈλŸ¬λ―€λ‘œ 멀버 λ³€μˆ˜μ˜ 값을 μ‘°νšŒν•˜κ³  싢을 땐 get λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.

get λ©”μ„œλ“œλŠ” μΈμžκ°€ μ—†μ–΄μ•Ό ν•˜κ³ , λ°˜ν™˜ν•˜λŠ” 값은 멀버 λ³€μˆ˜μ˜ 값이며, get+λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 멀버 λ³€μˆ˜ μ΄λ¦„μ˜ 넀이밍 μ»¨λ²€μ…˜μ„ μ§€μΌœμ•Ό ν•œλ‹€.

멀버 λ³€μˆ˜μ˜ 값을 μˆ˜μ •ν•˜κ³  싢을 땐, set λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•œλ‹€.

set λ©”μ„œλ“œλŠ” μˆ˜μ •ν•΄μ•Ό ν•  값이 인자둜 λ“€μ–΄κ°€μ•Ό ν•˜κ³ , λ°˜ν™˜κ°’μ΄ μ—†μ–΄μ•Ό ν•˜λ©°, set+λŒ€λ¬Έμžλ‘œ μ‹œμž‘ν•˜λŠ” 멀버 λ³€μˆ˜ μ΄λ¦„μ˜ 넀이밍 μ»¨λ²€μ…˜μ„ μ§€μΌœμ•Ό ν•œλ‹€.

두 λ©”μ„œλ“œ λͺ¨λ‘ public μ ‘κ·Όμžλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•œλ‹€.

package com.vividswan.studymate.model;

public class User{
  private String name;
  private String password;

  public void setName(String name){
    this.name = name;
  }

  public String getName(){
    return name;
  }

  public String setPassword(String password){
    this.password = password;
  }

  public void setPassword(){
    return password;
  }

}

'Java > Java 이둠' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

μŠ€ν…Œμ΄νŠΈ νŒ¨ν„΄  (0) 2022.03.14
UML Symbol(클래슀 κ°„μ˜ 관계)  (0) 2022.03.13
OCP와 DIP  (0) 2022.03.12
Java둜 GUI νšŒμ›κ΄€λ¦¬ λ§Œλ“€κΈ°(Swing)  (0) 2022.03.11
Builder νŒ¨ν„΄ (Java)  (0) 2022.03.08