- [Java] OOP 회원과 주문 관리 설계 - (1) 회원 정보 관리 기능2024년 10월 01일
- Song hyun
- 작성자
- 2024.10.01.:48
728x90반응형[Java] OOP 회원과 주문 관리 설계 - (1) 회원 정보 관리 기능
: 예제를 통해 OOP(Object Oriented Programming) 개념을 확실히 다잡아보자.
: 객체를 통해 회원가입 시스템을 구축해보자.
1. 패키지 및 클래스 생성
(1) Grade.java (Enum 타입)
package member; public enum Grade { BASIC, VIP }
(2) Member.java (클래스)
package member; public class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade) { this.id = id; this.name = name; this.grade = grade; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Grade getGrade() { return grade; } public void setGrade(Grade grade) { this.grade = grade; } }
(3) MemberRepository.java(인터페이스)
package member.repository; import member.Member; public interface MemberRepsitory { void save(Member member); Member findById(Long memberId); }
(4) MemoryMemberRepositoryImpl.java(구현체)
package member.repository; import java.util.HashMap; import java.util.Map; import member.Grade; import member.Member; public class MemoryMemberRepositoryImpl implements MemberRepsitory { private static MemoryMemberRepositoryImpl instance; private Map<Long,Member> memberStore = new HashMap<>(); // 생성자 public MemoryMemberRepositoryImpl() { initData(); } // 싱글톤 외부 접근 메서드 public static MemoryMemberRepositoryImpl getInstance() { if(instance == null) { instance = new MemoryMemberRepositoryImpl(); } return instance; } // 샘플 초기 데이터 private void initData() { memberStore.put(1L, new Member(1L, "홍길동", Grade.VIP)); // L:접미사 memberStore.put(1L, new Member(2L, "이몽룡", Grade.BASIC)); // L:접미사 memberStore.put(1L, new Member(3L, "성춘향", Grade.VIP)); // L:접미사 } @Override public void save(Member member) { // 회원 저장 memberStore.put(member.getId(), member); } @Override public Member findById(Long memberId) { // 회원 찾기 return memberStore.get(memberId); } }
(5) DBMemberRepositoryImpl.java
package member.repository; import member.Member; public class DBMemberRepositoryImpl implements MemberRepsitory { @Override public void save(Member member) { // TODO Auto-generated method stub } @Override public Member findById(Long memberId) { // TODO Auto-generated method stub return null; } }
728x90반응형'Java' 카테고리의 다른 글
[Java] OOP 회원과 주문 관리 설계 - (2) 주문 관리 기능 (3) 2024.10.01 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)