@Getter
: ์ ๊ทผ์ ๋ฉ์๋๋ฅผ ์์ฑํด์ฃผ๋ ์ด๋ ธํ ์ด์
@Setter
: ์ค์ ์ ๋ฉ์๋๋ฅผ ์์ฑํด์ฃผ๋ ์ด๋ ธํ ์ด์
๐ ๊ทธ ๋ฐ์ ์์ฑ์ ์์ฑ ๊ด๋ จ ์ด๋ ธํ ์ด์
@AllArgsConstructor
: ๋ชจ๋ ํ๋ ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ ์์ฑ์๋ฅผ ๋ง๋ฆ
@NoArgsConstructor
: ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๊ธฐ๋ณธ ์์ฑ์ ์์ฑ
@RequiredArgsConstructor
: final์ด๋ @NonNull์ธ ํ๋ ๊ฐ๋ง ํ๋ผ๋ฏธํฐ๋ก ๋ฐ๋ ์์ฑ์ ๋ง๋ฆ
์์ ์ฝ๋
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class UserInfoVO {
@NonNull
private String id;
@NonNull
private String password;
private String name;
}
-
@Test
public void AnTest() {
//@NoArgsConstructor
UserInfoVO info = new UserInfoVO();
log.info(info);
//@RequiredArgsConstructor
UserInfoVO info2 = new UserInfoVO("id", "pw");
log.info(info2);
//@AllArgsConstructor
UserInfoVO info3 = new UserInfoVO("id", "pw", "ea");
log.info(info3);
}
// UserInfoVO(id=null, password=null, name=null)
// UserInfoVO(id=id, password=pw, name=null)
// UserInfoVO(id=id, password=pw, name=ea)
@ToString
: toString() ๋ฉ์๋ ์์ฑํด์ฃผ๋ ์ด๋ ธํ ์ด์
์๋์ ๊ฐ์ด exclude ์์ฑ์ ์ด์ฉํ์ฌ, ์ํ์ง ์๋ ์์ฑ์ ์ถ๋ ฅํ์ง ์๋๋ก ์ ์ด๊ฐ ๊ฐ๋ฅํ๋ค.
@ToString(exclude = {"title", "id"})
@EqualsAndHashCode
: equals์ hashcode ๋ฉ์๋(๋ ๊ฐ์ฒด๊ฐ ๋์ผํ์ง ํ์ธํ๋)๋ฅผ ์๋์ผ๋ก ์์ฑํด์ฃผ๋ ์ด๋ ธํ ์ด์
@Data
: @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor๋ฅผ ํฉ์ณ ๋์ ์ด๋ ธํ ์ด์
'๐ Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Error] org.gradle.tooling.BuildException: Could not fetch model of type 'GradleBuild' using connection to Gradle distribution (0) | 2022.03.15 |
---|---|
[Java] Thread ๊ตฌํ ์์ (0) | 2022.03.05 |
[Java] this, this() (0) | 2022.03.01 |
[Java] ์ ์บ์คํ ์ ํ๋ ์ด์ (0) | 2022.03.01 |
[Eclipse] Run as์์ Junit Test์ ์ ํํ ์ ์์ ๋? Missing Run as JUnit Test (0) | 2022.02.19 |