@ToString
1
class SubClass extends SuperClass
JAVA 상속 - 부모(슈퍼)클래스와 자식(서브)클래스
@ToString
1
2
3
4
5
6
7
@ToString(exclude = "password")
public class User {
private Long id;
private String username;
private String password;
private int[] scores;
}
위와 같이 클래스에 @ToString 어노테이션을 붙이고, 아래와 같이 필드를 세팅 후 출력을 하면,
1
2
3
4
5
6
User user = new User();
user.setId(1L);
user.setUsername("dale");
user.setUsername("1234");
user.setScores(new int[]{80, 70, 100});
System.out.println(user);
다음과 같이, 클래스명(필드1명=필드1값, 필드2명=필드2값,…) 식으로 출력된다.
User(id=1, username=1234, scores=[80, 70, 100])
Option
toString 기본 출력에는 슈퍼클래스 구현 데이터가 포함되지 않는다.
@ToString(callSuper = true)
코드를 추가하면 슈퍼클래스 정보와 서브클래스 필드 및 값이 포함된 다음 출력이 생성된다.
1
2
3
4
5
6
7
@ToString(callSuper = true)
public class SavingAccount extends Account {
private String savingAccountId;
// standard getters and setters
}
출력
SavingAccount(super=Account(id=12345, name=An account), savingAccountId=6789)