-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUser.java
More file actions
133 lines (111 loc) · 4.05 KB
/
User.java
File metadata and controls
133 lines (111 loc) · 4.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package me.day05.practice.Practice01;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;
/**
* - `User` 클래스
* - 필드
* - 회원 아이디 `userId`
* - 회원 비밀번호 `userPassword`
* - 회원 핸드폰번호 `userPhoneNumber`
* - 회원 이메일 `userEmail`
* - 회원 생년월일 `userBirthDate`
* - 사용 중인 전자 제품들 `electronicDevices`
* - 하나의 사용자는 여러 개의 사용 중인 전자 제품이 있을 수 있음 — 배열로 정의
* - 회원 정보가 등록된 시스템 시간 `registerTime`
* - 객체 생성시 시스템 시간으로 자동 설정됨
* - 메소드
* - 생성자, getter(), setter(), hashCode(), equals(), toString()
*
*/
public class User {
private String userId;
private String userPassword;
private String userPhoneNumber;
private String userEmail;
private LocalDate userBirthDate;
private LocalDate registerTime;
private ArrayList<Electronic> electronicDevices;
public User() {}
public User(String userId, String userPassword, String userPhoneNumber, String userEmail, LocalDate userBirthDate) {
this.userId = userId;
this.userPassword = userPassword;
this.userPhoneNumber = userPhoneNumber;
this.userEmail = userEmail;
this.userBirthDate = userBirthDate;
registerTime = setRegisterTime();
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserPhoneNumber() {
return userPhoneNumber;
}
public void setUserPhoneNumber(String userPhoneNumber) {
this.userPhoneNumber = userPhoneNumber;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
public LocalDate getUserBirthDate() {
return userBirthDate;
}
public void setUserBirthDate(LocalDate userBirthDate) {
this.userBirthDate = userBirthDate;
}
public LocalDate getRegisterTime() {
return registerTime;
}
public LocalDate setRegisterTime() {
return LocalDate.now(ZoneId.systemDefault());
}
public ArrayList<Electronic> getElectronicDevices() {
return electronicDevices;
}
public void setElectronicDevices(ArrayList<Electronic> electronicDevices) {
this.electronicDevices = electronicDevices;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return Objects.equals(userId, user.userId) &&
Objects.equals(userPassword, user.userPassword) &&
Objects.equals(userPhoneNumber, user.userPhoneNumber) &&
Objects.equals(userEmail, user.userEmail) &&
Objects.equals(userBirthDate, user.userBirthDate) &&
Objects.equals(registerTime, user.registerTime) &&
Objects.equals(electronicDevices, user.electronicDevices);
}
@Override
public int hashCode() {
return Objects.hash(userId, userPassword, userPhoneNumber, userEmail, userBirthDate, registerTime, electronicDevices);
}
@Override
public String toString() {
return "User{" +
"userId='" + userId + '\'' +
", userPassword='" + userPassword + '\'' +
", userPhoneNumber='" + userPhoneNumber + '\'' +
", userEmail='" + userEmail + '\'' +
", userBirthDate=" + userBirthDate +
", registerTime=" + registerTime +
", electronicDevices=" + electronicDevices +
'}';
}
}