Home @tostring
Post
Cancel

@tostring

@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])

[자바] 자주 사용되는 Lombok 어노테이션




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)



출처
롬복의 @ToString 주석

This post is licensed under CC BY 4.0 by the author.