티스토리 뷰

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()));

    }
}

Application (왼쪽)과 Member (오른쪽) 부분이 우선 아예 다르고, Member부분에서 기능들이 나오고 그 기능들을 Application이 사용한다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
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
글 보관함