JX405기_비트/Java

Day05-6 ToString

_하루살이_ 2023. 1. 16. 16:23
package day0113;

import model.UserDTO;

public class Ex05ToString {
    public static void main(String[] args) {
        int number = 4;
        System.out.println(number); // 4

        String str = "abcd";
        System.out.println(str); // abcd

        UserDTO u = new UserDTO();
        u.setId(1);
        u.setUsername("a");
        u.setPassword("a");
        u.setNickname("사용자1");

        System.out.println(u); // {id: 1, username: a, password: a, nickname: 사용자1}
        // println() 객체의 toString 결과값을 출력하도록 되어있음 => 해당 객체에 toString 메소드를 Override 하기

    }
}

UserDTO에 toString() Override하기

package model;

public class UserDTO {
    private int id;
    private String username;
    private String password;
    private String nickname;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public boolean equals(Object o) {
        if (o instanceof UserDTO) {
            UserDTO u = (UserDTO) o;
            return id == u.id;
        }
        return false;
    }

    public UserDTO(UserDTO origin) {
        id = origin.id;
        username = origin.username;
        password = origin.password;
        nickname = origin.password;
    }

    public UserDTO() {

    }

    public String toString(){ // 해당 객체의 값을 간략하기 출력하기 위함
        return "{" +
                "id: " + id + ", " +
                "username: " + username + ", " +
                "password: " + password + ", " +
                "nickname: " + nickname +
                "}";
    }

}