티스토리 뷰
package com.ohgiraffers.section08.uses;
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
MemberService memberManager = new MemberService();
while(true) {
System.out.println("======= 회원 관리 프로그램 =======");
System.out.println("1. 회원 등록");
System.out.println("2. 회원 전체 조회");
System.out.println("9. 프로그램 종료");
System.out.print("메뉴 선택: ");
int no = sc.nextInt();
switch (no) {
case 1: memberManager.signUpMembers(); break;
case 2: memberManager.showAllMembers(); break;
case 9:
System.out.println("프로그램을 종료합니다.");
return; // 메소드를 호출한 곳으로 돌아간다 -> main이네??-> while break 효과
default:
System.out.println("잘못된 번호를 입력하셨습니다.");
}
}
}
}
package com.ohgiraffers.section08.uses;
public class Member {
private int num;
private String id;
private String pwd;
private String name;
private int age;
private char gender;
// 만들자마자 바로 생성!!!ㅋㅋㅋ
// 기본, 매개변수 있는 생성자
// getter/setter
// toString
public Member() {
}
public Member(int num, String id, String pwd, String name, int age, char gender) {
this.num = num;
this.id = id;
this.pwd = pwd;
this.name = name;
this.age = age;
this.gender = gender;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Member{" +
"num=" + num +
", id='" + id + '\'' +
", pwd='" + pwd + '\'' +
", name='" + name + '\'' +
", age=" + age +
", gender=" + gender +
'}';
}
}
package com.ohgiraffers.section08.uses;
/* 설명. 회원 잘 조회하는 클래스 */
public class MemberFinder {
public Member[] findAllMembers() {
return MemberRepository.findAllMembers();
}
}
package com.ohgiraffers.section08.uses;
/* 설명. 회원 가입 잘 시키는 클래스(회원가입 페이지로 바뀌는 개념) */
public class MemberRegister {
/* 설명. 회원가입하겠다는 대상들을 한명한명 저장했다고 보자. */
public void regist(Member[] members) {
System.out.println("회원을 등록합니다.");
for (int i = 0; i < members.length; i++) {
System.out.println(members[i].getName() + "님을 회원 등록에 성공했습니다.");
}
/* 설명. 데이터베이스 개면에 회원을 insert */
if(MemberRepository.store(members)) {
System.out.println("총 " + members.length + "명의 회원 등록에 성공했습니다.");
}
}
}
package com.ohgiraffers.section08.uses;
/* 설명. Database와 직접적으로 연관된 클래스 */
public class MemberRepository { // DB와 친한 친구
/* 설명. static 변수 선언으로 Member 객체를 담는 배열을 데이터베이스로 취급하자. */
private final static Member[] members = new Member[10]; // 이것이 DB다.
private static int count;
public static boolean store(Member[] newMembers) {
for (int i = 0; i < newMembers.length; i++) {
members[count++] = newMembers[i];
}
return true;
}
public static Member[] findAllMembers() {
return members; // Select 문?
}
}
package com.ohgiraffers.section08.uses;
import java.util.Arrays;
public class MemberService {
/* 설명. 회원 가입을 5명 진행하고 저장하기 위해 저장용 객체(Register)에게 호출 */
public void signUpMembers() {
Member[] members = new Member[5];
members[0] = new Member(1, "user01", "pass01", "홍길동", 20, '남');
members[1] = new Member(2, "user02", "pass02", "유관순", 16, '여');
members[2] = new Member(3, "user03", "pass03", "이순신", 40, '남');
members[3] = new Member(4, "user04", "pass04", "신사임당", 36, '여');
members[4] = new Member(5, "user05", "pass05", "윤봉길", 22, '남');
MemberRegister memberRegister = new MemberRegister();
memberRegister.regist(members);
}
public void showAllMembers() {
MemberFinder finder = new MemberFinder();
System.out.println("===== 가입된 회원 목록 =====");
System.out.println(Arrays.toString(finder.findAllMembers()));
}
}
'한화시스템 > 백엔드' 카테고리의 다른 글
[BE] JAVA_상속_superkeyword (0) | 2024.07.17 |
---|---|
[BE] JAVA_상속_개요 (0) | 2024.07.17 |
[BE] JAVA_클래스와 객체_객체 배열 (0) | 2024.07.16 |
[BE] JAVA_클래스와 객체_초기화 블럭 (0) | 2024.07.16 |
[BE] JAVA_클래스와 객체_Singleton & StaticKeyword (0) | 2024.07.16 |