문제

다음 실행용 클래스에서 아래와 같이 코딩시 컨트롤 클래스에서 처리할 수 있도록 만들어 보시오

public class TestMain{     //실행용 클래스

public static void main(String[] args) {

StuMgr m = new StuMgr();

m.insertStudent(new Student("홍길동",20,"경기도"));

m.insertStudent(new Student("김말똥",30,"충청도"));

m.insertStudent(new Student("고길똥",99,"서울시"));

m.viewAllStudent();     //저장된 모든 학생들 정보 출력

}

}

조건
1. Student Class는 VO Class 임 (패키지명 : kh.java.model.vo)
## 필수 ##
- 멤버변수 : 이름,나이,주소
- 멤버메소드 :setter, getter, 기본생성자
2. StuMgr Class는 Controller Class임 (패키지명 : kh.java.controller)
## 필수 ##
- 멤버변수 : 학생정보 10명을 저장할 수 있는 객체 배열
- 멤버메소드 : insertStudent (객체 저장 메소드), viewAllStudent (정보 출력 메소드)
3. Has a 포함관계로 구현할 것 (Stumgr -> Student)
4. 학생 10명에 대한 정보를 저장할 수 있어야 함
5. 실행용 클래스는 TestMain (패지키명 : kh.java.run)
출력 결과 (viewAllStudent 메소드 호출시) - 줄칸은 맞지 않아도 됩니다.
= = = = = = = = = = = 학생 정보 출력 = = = = = = = = =
이름 나이        주소
      홍길동   20       경기도
      김말똥   20       충청도
      고길똥   99       서울시


has a 설계
패키지
kh.java.model.vo
-> 클래스 : Student
- 멤버변수 : 이름,나이,주소
- 멤버메소드 :setter, getter, 기본생성자
kh.java.controller
-> 클래스 : StuMgr
- 멤버변수 : 학생정보 10명을 저장할 수 있는 객체 배열
- 멤버메소드 : insertStudent (객체 저장 메소드), viewAllStudent (정보 출력 메소드)
kh.java.run
-> 클래스 : TestMain
- 멤버메소드 : main 


Student.java

package kh.java.model.vo;


public class Student {

private String name;

private int age;

private String addr;

public Student(){}

public Student(String name, int age, String addr)

{

this.name = name;

this.age = age;

this.addr = addr;

}


public void setName(String name) {this.name = name;}

public void setAge(int age) {this.age = age;}

public void setAddr(String addr) {this.addr = addr;}

public String getName() {return name;}

public int getAge() {return age;}

public String getAddr() {return addr;}

}


StuMgr.java

package kh.java.controller;


import kh.java.model.vo.Student;


public class StuMgr {

private Student [] s = new Student [10];

private int index = 0;

public void insertStudent(Student s)

{

this.s[index++] = s;

}

public void viewAllStudent()

{

System.out.println("========== 학생 정보 출력 ==========");

System.out.printf("%15s %15s %15s \n", "이름","나이","주소");

for(int i=0;i<index;i++)

{

System.out.printf("%15s %14d %8s \n", s[i].getName(),s[i].getAge(),s[i].getAddr());

}

}

}


TestMain.java

package kh.java.run;


import kh.java.controller.StuMgr;

import kh.java.model.vo.Student;


public class TestMain {

public static void main(String[] args) {

StuMgr m = new StuMgr();

m.insertStudent(new Student("홍길동",20,"경기도"));

m.insertStudent(new Student("김말똥",30,"충청도"));

m.insertStudent(new Student("고길똥",99,"서울시"));

m.viewAllStudent();

}

}




클래스 다이어그램

클래스(멤버변수-필드, 메소드)를 그림으로 표현



Help - Install New Software



Location에



objectaid.com/download
Download URL 주소를 적는다.



ObjectAid UML Explorer에서 Apache Batik과 ObjectAid Class Diagram만 체크하고 Next, Next ..



I accept the terms of the license agreements를 체크하고 Finish
Security Warning 창이 뜨면 'Install anyway', Software Updates 창이 뜨면 Restart Now



File - New - Other 에서 ObjectAid Class Diagram을 찾아서 패키지에 추가한다



다이어그램에 표시하고 싶은 클래스들을 끌어다 놓으면 요렇게 그려진다


  1. ㅇㅇㅇ 2018.03.29 14:41 신고

    자바 정말 잘하시네용~

+ Recent posts