클래스 만드는 순서
1) 학생(객체)이 가져야 할 데이터가 무엇인지, 타입의 값을 정한다. // student 클래스
2) 학생 클래스에 이 데이터를 저장할 필드를 만든다. // student 클래스
3) 생성자 확인 - 객체가 만들어질 때 필요한 일 // department 클래스
4) 입력 메소드 // read 메서드
5) 출력 메소드 // print 메서드
학생 클래스 - 서브 클래스
학생이 갖게 될 데이터 객체
class Student{
String name;
int id;
String phone;
int year;
}
학과 클래스 - 메인 클래스
// 메인 클래스에서 run, doit 메서드를 가진다.
역할) 학생 객체를 만들고, 학생 정보를 읽어 출력함.
-> 입력, 출력 메서드 호출
public class Department{
Scanner s = new Scanner(System.in);
void run(){
Student st = new Student();
st.read(s);
st.print();
}
public static void main(String args[]){
Department department = new Department();
department.run();
}
}
만약 여러 명의 학생을 처리하려면? ArrayList를 사용한다.
public class Department{
Scanner s = new Scanner(System.in);
ArrayList <Scudent> studentList = new ArrayList<>(); // ArrayList 선언
void run(){
Student st = null;
for(int i=0; i<5; i++){
st = new Student(); // 객체 생성 >> 5번 반복
st.read(s);
studentList.add(st); // 객체 리스트에 추가하기
}
for(Student st: studentList) // 출력시에 for-each 사용하도록 좋지만,
st.print(); // Student st에 있는 studentList만큼 반복
}
public static void main(String args[]){
Department department = new Department();
department.run();
}
}
입력메서드와 출력 메서드 - 각각의 객체를 '하나씩' 입력받는 것이므로 student 클래스에 read()와 print()를 선언해준다.
public class Student {
int id;
String name;
String phone;
int year;
void read(Scanner s) {
id = s.nextInt();
name = s.next();
phone = s.next();
year = s.nextInt();
}
void print() {
System.out.printf("%d %s %s %d학년", id, name, phone, year);
System.out.println();
}
}
'Backend > JAVA' 카테고리의 다른 글
[JAVA] Store 프로젝트 (0) | 2020.10.23 |
---|---|
[JAVA] 학과 프로그램 #5 - 강의 수강 기능 추가(+파일) (0) | 2020.10.03 |
[JAVA] 학과 프로그램 #4 - 점수 기능 추가하기(+파일) (0) | 2020.09.20 |
[JAVA] 학과 프로그램 #3 - 검색 기능 추가하기 (0) | 2020.09.20 |
[JAVA] 학과 프로그램 #2 - n개의 객체 입력하기 (0) | 2020.09.20 |
댓글