오늘은 문제 풀어보기 위주
메서드 재정의 할 때 사용하는 어노테이션
클래스에서 마우스 오른쪽 클릭
source >> generate toString >> generate
클래스에서의 사용

메인 클래스에서 사용법

출력

// 교육생 등록
Trainee t1 = new Trainee("선장원", 27, "010-1234-5678", false);
// 등록 확인
System.out.println(t1.name);
System.out.println(t1.age);
System.out.println(t1.phone);
System.out.println(t1.major);
// 나이 전공유무 변경
t1.afterSignUp(28,true);
System.out.println("age major 변경후");
System.out.println(t1.name);
System.out.println(t1.age);
System.out.println(t1.phone);
System.out.println(t1.major);
// 폰번호 변경
t1.phoneNumberUpdate("010-2345-6789");
System.out.println("phone 변경후");
System.out.println(t1.name);
System.out.println(t1.age);
System.out.println(t1.phone);
System.out.println(t1.major);
// 이름 전화 번호 등록 후 나중에 등록
Trainee t2 = new Trainee("선장원2","010-3456-7890");
System.out.println(t2.name);
System.out.println(t2.age);
System.out.println(t2.phone);
System.out.println(t2.major);
t2.afterSignUp(29, true);
System.out.println("t2 age major 변경후");
System.out.println(t2.name);
System.out.println(t2.age);
System.out.println(t2.phone);
System.out.println(t2.major);
t2.phoneNumberUpdate("010-1234-1234");
System.out.println(" t2 phone 변경후");
System.out.println(t2.name);
System.out.println(t2.age);
System.out.println(t2.phone);
System.out.println(t2.major);
// 이름 나이 휴대폰번호 전공유무
String name = ""; // 이름
int age = 0; // 나이
String phone = ""; // 전화번호 - 도 넣어야해?
boolean major = false; // 전공
Trainee(){// 기본 생성자
}
// 신규 교육생 등록 이건 생성자로 만들으라는건가?
Trainee (String name, int age, String phone, boolean major){ // 기본 생성자
this.name = name;
this.age = age;
this.phone= phone;
this.major= major;
}
// 이름 폰번호로 등록 후 전동 유무는 추후 등록
Trainee (String name, String phone){
this.name = name;
this.phone= phone;
// this.age = 0; 이거 두개는 없어도 되는거네?
// this.major= false; 어차피 0과 false로 저장이 되어 있으니 초기값으로 그냥 나오는구나
}
//afterSignup메서드
void afterSignUp (int age, boolean major ){
this.age = age;
this.major = major;
System.out.println("나이 전공 유무 등록 완료");
}
// phoneNumberUpdate메서드
void phoneNumberUpdate (String phone) {// 이걸 새로 변수를 사용해도 되네
this.phone = phone;
System.out.println("폰 번호 변경 완료");
}
Member 클래스
1. 회원정보
- 아이디 비밀번호 이름 이메일
MemberMain
1. 회원가입 방식 두가지
a. 회원 가입시 모든 정보를 이용하여 가입
b. 회원 객체 생성 후 memberJoin 메서드를 이용하여 가입
- 모든 정보를 매개변수로 함.
- 모든 정보 가입 후 '가입완료' 출력
2. 회원 로그인 기능
a. memberLogin 메서드를 호출하여 호출결과에 따라 아래와 같이 처리
1) 아이디, 비밀번호 모두 일치하면 로그인 성공 출력
2) 아이디, 비밀번호 중 하나라도 일치하지 않으면 로그인 실패 출력
3) 위의 로그인 성공/실패 출력문은 MemberMain 클래스에 존재함.
b. memberLogin 메서드
- 리턴타입 : boolean
- 매개변수 : 아이디 비밀 번호
3. myInfo 메서드
a. myInfo 메서드를 호출하면 내 정보를 모두 출력해준다.
b. 로그인여부 상관하지 않아도 됨.
4. 회원정보 수정 기능
a. memberUpdate 메서드
- 리턴 없음
- 매개변수 : 이메일
- 이메일 주소 변경 후 변경완료 출력
// 로그인 시스템?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Member m1 = new Member();
String id = "";
String pw = "";
m1.memberJoin("captain", "1234", "선장원", "wkddnjs");
System.out.println(m1.id);
System.out.println(m1.pw);
System.out.println(m1.name);
System.out.println(m1.email);
System.out.print("아이디 입력 : ");
id = br.readLine();
System.out.print("비밀번호 입력 : ");
pw = br.readLine();
if (m1.memberLogin(id, pw)) {// 조건식에 boolean값 변수를 넣어서 만들기도 하네
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패");
}
m1.myInfo();
m1.memberUpdate("naver");
m1.myInfo();
System.out.println(m1);
Member loginMember = new Member();
loginMember.id = "captain";
loginMember.pw = "1234";
boolean loginResult = false;
// loginMember 객체를 memberLogin2 메서드에 전
loginResult = m1.memberLogin2(loginMember);
if (loginResult) {
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패");
}
// 아이디 비밀번호 이름 이메일주소
String id = "";
String pw = "";
String name = "";
String email = "";
Member() { // 기본
}
Member(String id, String pw, String name, String email) {
this.id = id;
this.pw = pw;
this.name = name;
this.email = email;
} // 모든 정보 입력 가입
void memberJoin(String id, String pw, String name, String email) {
this.id = id;
this.pw = pw;
this.name = name;
this.email = email;
System.out.println("가입 완료");
}
boolean memberLogin (String id2, String pw2) {
if (this.id.equals(id2) && this.pw.equals(pw2)) {
return true;
} else {
return false;
}
}
void myInfo () {
System.out.println("아이디 : "+id);
System.out.println("비밀번호 : "+pw);
System.out.println("이름 : "+name);
System.out.println("이메일 : "+email);
}
void memberUpdate (String email) {
this.email = email;
System.out.println("변경 완료");
}
String loginResult = "";
// 로그인 2 메서드
boolean memberLogin2 (Member loginMember) {
boolean result = false;
if (loginMember.id.equals(this.id) && loginMember.pw.equals(this.pw)) {
result = true;
} else {
result = false;
}
return result;
}
//toString 메서드
// 리턴 타입 : String
@Override // 메서드 재정의 할 때 사용하는 어노테이션 (Annotation)
public String toString() {
return "Member [id=" + id + ", pw=" + pw + ", name=" + name + ", email=" + email + "]";
}
로그인 정보를 입력할 때 변수를 활용해서 해도 가능
Member loginMember = new Member();
loginMember.id = "captain";
loginMember.pw = "1234";
boolean loginResult = false;
// loginMember 객체를 memberLogin2 메서드에 전
loginResult = m1.memberLogin2(loginMember);
if (loginResult) {
System.out.println("로그인 성공");
} else {
System.out.println("로그인 실패");
}
내가 머리를 써서 직접 생각해서 그런가 엄청 피곤하네
남는 시간이 너무 많다
백준 알고리즘 이상한 수학문제가 너무 많아 어려워 ㅠㅠ