학사 관리 시스템을 한번 Java를 이용해서 구현해볼 것이다. 먼저 필요한 클래스들을 생각해보자. main에는 학사 관리 시스템 클래스가 있어야 할 것이다. 학사관리는 학생을 관리하는 시스템이므로 학생관련 클래스가 있어야 하고, 학생에대한 클래스엔 학생정보들이 있어야 한다. 물론 계속 업데이트 할 수 있어야한다.
학사관리 시스템 클래스 : StudentManager
학생 정보 클래스: Student
먼저 Student 클래스부터 설계해보자!
private String name;
private int age;
private int studentNum;
private String major;
public Student(String name, int age, int studentNum, String major) {
this.name = name;
this.age = age;
this.studentNum = studentNum;
this.major = major;
}
public void updateInfo(int i, String info) {
switch (i) {
case 1: // 이름 수정
setName(info);
break;
case 2: // 나이 수정
setAge(Integer.parseInt(info));
break;
case 3: // 학번 수정
setStudentNum(Integer.parseInt(info));
break;
case 4: // 전공 수정
setMajor(info);
break;
}
}
이름, 나이, 학번, 전공을 저장할 것이다. 먼저 생성자에 모두 this로 받아줘서 모두 초기화 하였다. 그리고 updateInfo() 메소드를 통해 입력받은 번호에 따라 수정 할 수 있게 해주었다.
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 int getStudentNum() {
return studentNum;
}
public void setStudentNum(int studentNum) {
this.studentNum = studentNum;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
당연히 여기에서도 게터와 세터를 통해 값을 얻어주고 retrun 해준다!
import java.util.ArrayList;
public class StudentManager {
ArrayList<Student> students = new ArrayList<Student>();
public static void main(String[] args) {
StudentManager studentManager = new StudentManager();
studentManager.addStudent("홍길동", 22, 20123487, "영극영화");
studentManager.addStudent("홍길순", 24, 20106428, "수학과");
studentManager.addStudent("이은경", 21, 20135788, "국문과");
studentManager.addStudent("김철수", 23, 20114221, "체육과");
studentManager.addStudent("김순희", 26, 20089883, "무용과");
}
private void addStudent(String name, int age, int studentNum, String major) {
students.add(new Student(name, age, studentNum, major));
System.out.println(name + " 학생 정보 입력 성공!!");
}
}
여기서 ArrayList라는 것이 나오는데 배열과 비슷하게 생각하면 된다. 그리고 <Student.>라는 것은 students라는 배열에 Student객체들을 담을 것이라는 것이다. 그 다음 main 클래스에서 생성자를 통해 객체를 생성한다음 객체에 하나하나 정보들을 넣어주는 것이다. 우리가 정해놓은 변수들 순서대로 넣어주면 끝인 것이다!! 그리고 addStudent라는 것을 통해 학생 객체에 정확히 값이 들어갔다면 그 객체의 이름과 "학생 정보 입력 성공!!"이라는 문구를 같이 출력해줄 것이다.
다소 생소한 것이 하나 등장했는데 ArrayList였다. 이것은 이미 C++에서 한번 마추쳐봐서 배울 땐 어려웠는데 이해하고 공부하면 편리한 기능중 하나로 사용된다. 처음 학사관리 시스템을 만들어 봤을때는 Java의 이점을 어느정도 배울 수 있는 느낌이였다. 역시 Java는 재미있다.