인터페이스, 추상 메소드 등을 활용해서 회원 가입, 회원 조회, 회원 수정, 회원 삭제 등의 아주 기본적인 CRUD를 구현한 자바 소스 코드입니다. 인터페이스와 추상 메소드를 공부하면서 구현을 한 번 해보고자 단순한 기능을 통해 가벼운 참고용으로 만들었습니다.
1. Main.java
public class Main {
public static Boolean run = true;
public static void main(String[] args) {
while(run) {
MemberServiceImpl memberService = new MemberServiceImpl();
memberService.init();
}
}
}
2. MemberService.java
public interface MemberService {
abstract void init();
abstract void insertMember();
abstract void updateMember();
abstract void deleteMember();
abstract void showAll();
abstract Member findById(String id);
}
3. MemberServiceImpl.java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MemberServiceImpl implements MemberService {
private static final Scanner sc = new Scanner(System.in);
private static final List<Member> memberList = new ArrayList<>();
@Override
public void init() {
System.out.print("[1] Insert Member\n" +
"[2] Update Member\n" +
"[3] Delete Member\n" +
"[4] Show All\n" +
"[0] EXIT\n" +
">> ");
String menu = sc.nextLine();
if (menu.equals("1")) insertMember();
else if (menu.equals("2")) updateMember();
else if (menu.equals("3")) deleteMember();
else if (menu.equals("4")) showAll();
else if (menu.equals("0")) System.exit(0);
}
@Override
public void insertMember() {
System.out.print("id? ");
String id = sc.nextLine();
System.out.print("pwd? ");
String pwd = sc.nextLine();
System.out.print("email? ");
String email = sc.nextLine();
Member member = new Member(id, pwd, email);
memberList.add(member);
System.out.println(member.getId() + "가 생성되었습니다.");
}
@Override
public void updateMember() {
System.out.print("id? ");
String id = sc.nextLine();
if (findById(id) == null) {
System.out.println("존재하지 않는 아이디입니다.");
} else {
System.out.print("email? ");
String email = sc.nextLine();
findById(id).setEmail(email);
}
}
@Override
public void deleteMember() {
System.out.print("id? ");
String id = sc.nextLine();
if (findById(id) == null) {
System.out.println("존재하지 않는 아이디입니다.");
} else {
memberList.remove(findById(id));
}
}
@Override
public void showAll() {
for (Member member : memberList) {
System.out.println(member.toString());
}
}
@Override
public Member findById(String id) {
for (Member i : memberList) {
if (i.getId().equals(id)) {
return i;
}
}
return null;
}
}
4. Member.java
public class Member {
private String id;
private String password;
private String email;
public Member(String id, String password, String email) {
this.id = id;
this.password = password;
this.email = email;
}
@Override
public String toString() {
return "Member{" +
"id='" + id + '\'' +
", email='" + email + '\'' +
'}';
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}