① VO 객체 클래스 생성
package addr;
//vo : 그 객체 하나가 담을 값들을 맴버 변수로 만들어 줬다.
public class Member {
String name;
String tel;
String address;
// 이 밑으로는 출력하는 메소드를 만드는 것이다.
public Member() {
} // 공란인 생성자 생성 -> 나중에 값이 바뀔 수도 있어서
public Member(String name, String tel, String address) {
this.name = name;
this.tel = tel;
this.address = address;
} // 클래스 구성을 포함하고 있는 생성자도 생성 해줌
///printData() 대용으로 활용가능
@Override
public String toString() {
return name + " / " + tel + " / " + address;
} //toString : 자바의 클래스 로드맵 중 최상위 Object 클래스
}
② MemberDao 생성
package addr;
//데이터베이스나 배열같은 저장소와 연결된 작업 수행
public class MemberDao {
Member[] members; //저장소. db
int cnt; //데이터 개수 카운팅 배열 길이보다 크면 안되니까
MemberDao() {
members = new Member[30]; // 배열 생성
}
// 배열에 Member 객체 하나 추가
void insert(Member m) { //insert란 배열이나 리스트의 중간에 어떤 원소를 넣는 것
if (cnt >= members.length) {
System.out.println("배열참. 추가 취소");
return;
}
members[cnt] = m;
cnt++; //하나씩 올려서 배열 길이보다 크지 않도록 해주어야 함
}
③ 사용자 정의 MemberService 생성
package addr;
import java.util.Scanner;
public class MemberService {
MemberDao dao; //// dao 객체를 멤버로 선언
MemberService() { //생성자 생성
dao = new MemberDao();
}
// 기능 구현
// 추가. 새 이름,전화,주소를 입력받아 저장소에 저장
void addMember(Scanner sc) {
System.out.println("name:");
String name = sc.next();
System.out.println("tel:");
String tel = sc.next();
System.out.println("address:");
String address = sc.next();
dao.insert(new Member(name, tel, address));
}
void getAll() { // 전체출력
for (int i = 0; i < dao.cnt; i++) {
System.out.println(dao.members[i]);
}
}
}
④ Main class 에 ① ~ ③ 까지 생성한 것들을 구현
package addr;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
MemberService service = new MemberService();
service.addMember(sc);
service.addMember(sc);
service.getAll();
}
}
'JAVA' 카테고리의 다른 글
[JAVA] 객체지향 - 상속과 배열로 간단화 (0) | 2023.03.02 |
---|---|
[JAVA] 객체지향 - 클래스를 인자 값으로 받는 클래스 출력문 (0) | 2023.03.02 |
[JAVA] 객체지향 - 다형성 (polymorphism) (0) | 2023.03.01 |
[JAVA] 객체지향 - 메소드 오버라이딩 (method overriding) (0) | 2023.03.01 |
[JAVA] 객체지향 - super와 super() (0) | 2023.03.01 |