🌧️

둬볡 μ£Όμ˜μ‚¬ν•­

속성
Sep 7, 2021

LomBokμ—μ„œ μ‚¬μš©ν•˜λ©΄ μ’‹μ§€ μ•Šμ€ μ–΄λ…Έν…Œμ΄μ…˜

  • AllArgsConstructor / RequiredArgsConstructor
@AllArgsConstructor public class User { private String password; private String Id; }
μ΄λŸ¬ν•œ ν΄λž˜μŠ€κ°€ μžˆμ„ 경우 λ‹€λ₯Έ κ°œλ°œμžλΆ„μ΄ Idλ₯Ό λ¨Όμ € λ°›κ³  μ‹Άμ–΄μ„œ
@AllArgsConstructor public class User { private String Id; private String password; }
μ΄λ ‡κ²Œ λ³€κ²½ν–ˆλ‹€κ³  생각해보면 μƒμ„±μžλ₯Ό 직접 μž‘μ„±ν•΄ 주지도 μ•Šμ•˜κ³  λ°›λŠ” νƒ€μž…λ„ λ˜‘κ°™κΈ° λ•Œλ¬Έμ— 기쑴의 μ½”λ“œμ—μ„œλŠ” 였λ₯˜κ°€ λ‚˜μ§€ μ•Šκ³  싀행이 잘 λ˜λŠ” λͺ¨μŠ΅μ„ 보여쀀닀. ν•˜μ§€λ§Œ 이미 λ“€μ–΄μ˜€λŠ” 값은 λ°˜λŒ€λ‘œ λ“€μ–΄μ˜€κΈ° λ•Œλ¬Έμ— Id에 λΉ„λ°€λ²ˆν˜Έκ°€ λ“€μ–΄κ°€κ³  λΉ„λ°€λ²ˆν˜Έ 값에 Idκ°€ λ“€μ–΄κ°€κ²Œ 될 것이닀.
μ‚¬μš©ν•˜λ©΄ νŽΈλ¦¬ν•˜μ§€λ§Œ 그만큼 큰 였λ₯˜κ°€ 생길 μˆ˜λ„ 있기 λ•Œλ¬Έμ— μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 μ’‹λ‹€. @Data μ–΄λ…Έν…Œμ΄μ…˜ μ•ˆμ—λ„ μƒμ„±μžκ°€ λ“€μ–΄κ°€ 있기 λ•Œλ¬Έμ— μ‚¬μš©ν•˜μ§€ 말아야 ν•œλ‹€.

κ°œμ„  방법

public class User { private String Id; private String password; @Builder public User(String Id, String password) { this.Id = Id; this.password = password; } }
μƒμ„±μžλ₯Ό 직접 μƒμ„±ν•˜κ³  λΉŒλ”νŒ¨ν„΄μ„ μ΄μš©ν•˜λ©΄ νŒŒλΌλ―Έν„°λ₯Ό μˆœμ„œλ³„λ‘œ μƒμ„±ν•˜λŠ”κ²Œ μ•„λ‹Œ μ΄λ¦„μœΌλ‘œ 값을 넣을 수 있기 λ•Œλ¬Έμ— λ¦¬νŒ©ν† λ§μ—λ„ μœ μ—°ν•˜κ²Œ λŒ€μ²˜ν•  수 μžˆλ‹€.
ν•˜μ§€λ§Œ @Builder μ–΄λ…Έν…Œμ΄μ…˜λ„ AllArgsConstructor λ₯Ό κ°€μ§€κ³  있기 λ•Œλ¬Έμ— ν΄λž˜μŠ€μ— λΆ™μ΄λŠ” 것 보닀 직접 λ§Œλ“  μƒμ„±μžλ‚˜ static 객체 생성 λ©”μ†Œλ“œμ— λΆ™μ΄λŠ” 것을 ꢌμž₯ν•œλ‹€.

μ‹€λ¬΄μ—μ„œ 둬볡 μ‚¬μš©

  • μ‹€λ¬΄μ—μ„œλŠ” @Getter / @Setter / @ToString μ •λ„λ‘œλ§Œ μ‚¬μš©μ„ ν•˜λŠ” 것을 ꢌμž₯ν•œλ‹€.
  • λ‹€λ₯Έ κ²ƒλ“€μ˜ μ‚¬μš©μ€ μžμ œν•˜κ³  μ‚¬μš©ν•  일이 있으면 보수적으둜 μ‚¬μš©μ„ ν•΄μ•Όν•œλ‹€.