Home
>
Backend Development
>
๐[Backend Development] ๋น๋ ํจํด ์ฌ์ฉ์ @AllArgsConstructor(access = AccessLevel.PRIVATE)์ ํ์ฉํ๋ ์ด์
Backend Ddevelopment
Springboot
Framework
โ๐[Backend Development] ๋น๋ ํจํด ์ฌ์ฉ์ @AllArgsConstructor(access = AccessLevel.PRIVATE)์ ํ์ฉํ๋ ์ด์ โ
๐ Intro.
- ๋น๋ ํจํด์ ์ฌ์ฉํ ๋, @AllArgsConstructor(access = AccessLevel.PRIVATE)๋ฅผ ์ถ๊ฐํ๋ ์ด์ ๋ฅผ ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
โ
1๏ธโฃ @AllArgsConstructor๊ฐ ํ๋ ์ญํ .
- @AllArgsConstructor๋ ๋ชจ๋ ํ๋๋ฅผ ํฌํจํ๋ ์์ฑ์๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค.
- ํ์ง๋ง ๋น๋ ํจํด์ ์ฌ์ฉํ ๊ฒฝ์ฐ, ์์ฑ์๋ฅผ ์ง์ ํธ์ถํ์ง ์๊ณ ๋น๋๋ฅผ ํตํด ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ด ๋ชฉ์ ์
๋๋ค.
- ๋ฐ๋ผ์, ์์ฑ์์ ์ ๊ทผ ์ ํ์ private์ผ๋ก ์ค์ ํ๋ฉด, ๋น๋๋ฅผ ํตํ ์์ฑ๋ง ํ์ฉํ ์ ์์ต๋๋ค.
โ
2๏ธโฃ ๋น๋ ํจํด ์ ์ฉ ์, @AllArgsConstructor(access = AccessLevel.PRIVATE)๊ฐ ํ์ํ ์ด์
โ ์๋ชป๋ ์์ (๋น๋ ํจํด ์ฌ์ฉํ์ง๋ง, ์์ฑ์๋ public)
@AllArgsConstructor // (๊ธฐ๋ณธ๊ฐ์ด PUBLIC)
@Builder
public class Comment {
private Long commentId;
private String content;
private Long articleId;
private Long parentCommentId;
private Long writerId;
private Boolean deleted;
private LocalDateTime createdAt;
}
โ
๋ฌธ์ ์ :
- @AllArgsConstructor์ ๊ธฐ๋ณธ ์ ๊ทผ ์ ์ด์๊ฐ public์ด๋ฏ๋ก, ๋น๋๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์์ฑ์๋ฅผ ์ง์ ํธ์ถํ์ฌ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์.
- ๋น๋๋ฅผ ์ฌ์ฉํ๋ ๋ชฉ์ ์ด ๊ฐ์ฒด ์์ฑ ์ ๊ฐ๋
์ฑ์ ๋์ด๊ณ ์ ํ์ ์ผ๋ก ํ๋๋ฅผ ์ด๊ธฐํ ํ ์ ์๋๋ก ํ๊ธฐ ์ํจ์ธ๋ฐ, ์์ฑ์๊ฐ public์ด๋ฉด ๋น๋ ์ฌ์ฉ์ ๊ฐ์ ํ ์ ์์.
๐ ๏ธ ํด๊ฒฐ ๋ฐฉ๋ฒ(@AllArgsConstructor(access = AccessLevel.PRIVATE))
@AllArgsConstructor(access = AccessLevel.PRIVATE) // ์์ฑ์๋ฅผ PRIVATE์ผ๋ก ์ค์
@Builder
public class Comment {
private Long commentId;
private String content;
private Long articleId;
private Long parentCommentId;
private Long writerId;
private Boolean deleted;
private LocalDateTime createdAt;
}
โ
์ด๋ ๊ฒ ํ๋ฉด:
- ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ๋ ๊ฒ์ ๋ง๊ณ , ๋น๋๋ฅผ ํตํ ์์ฑ๋ง ๊ฐ๋ฅํ๋๋ก ์ ํ ๊ฐ๋ฅ.
- ๋ถํ์ํ ์์ฑ์ ํธ์ถ์ ๋ง๊ณ , ๊ฐ๋
์ ์ด ์ข์ ๋น๋ ํจํด์ ๊ฐ์ ํ ์ ์์.
- ๊ฐ์ฒด์ ํ๋๊ฐ ๋ง์์ง์๋ก, ๋น๋ ํจํด์ด ๋ ์ ์ฉํ๊ฒ ๋์ํ๊ฒ ๋จ.
โ
3๏ธโฃ ์ ๋ฆฌ - ํ์ํ ์ด์ .
๋ฌธ์ ์ |
ํด๊ฒฐ ๋ฐฉ๋ฒ |
@AllArgConstructor ๊ธฐ๋ณธ๊ฐ์ด public์ด๋ฏ๋ก, ์ง์ ์์ฑ์ ํธ์ถ์ด ๊ฐ๋ฅํจ. |
@AllArgsConstructor(access = AccessLevel.PRIVATE)๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑ์ ์ ๊ทผ ์ ํ. |
๋น๋๋ฅผ ์ฌ์ฉํด๋ ์์ฑ์๋ฅผ ์ง์ ํธ์ถํ ์ ์์ด ์ผ๊ด์ฑ์ด ๋จ์ด์ง. |
๋น๋๋ฅผ ๊ฐ์ ํ์ฌ ๊ฐ๋
์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ์ ๋์. |
๊ฐ์ฒด ํ๋๊ฐ ๋ง์์ง ๊ฒฝ์ฐ, ์์ฑ์ ํธ์ถ๋ณด๋ค ๋น๋ ํจํด์ด ๋ ์ ๋ฆฌํจ. |
๋น๋๋ฅผ ๊ฐ์ ํ์ฌ ๋ ๊ฐ๋
์ฑ์ด ์ข์ ์ฝ๋ ์ ์ง ๊ฐ๋ฅ. |
- โ
์ฆ, @AllArgsCOnstructor(access = AccessLevel.PRIVATE)๋ฅผ ์ฌ์ฉํ๋ฉด, ๋น๋๋ฅผ ํตํ ๊ฐ์ฒด ์์ฑ์ ๊ฐ์ ํ์ฌ ์ฝ๋ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.