[this-1] Student, School

seratpfk·2022년 7월 28일
0

JAVA

목록 보기
48/96

this

  1. 현재 객체의 참조값
  2. 현재 객체의 멤버(필드, 메소드)를 호출할 때 사용
  3. 생성자 내부에서 다른 생성자를 호출할 때 this() 형태로 사용

Student 클래스 생성 (메인메소드 없음)

// 필드
private String stuNo;  // this.stuNo
private String name;  // this.name
// 생성자
public Student() {
		}
public Student(String stuNo, String name) {
	this.stuNo = stuNo;
	this.name = name;
}
// 메소드
public String getStuNo() {
	return stuNo;
}
public void setStuNo(String stuNo) {
	this.stuNo = stuNo;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
  • 이클립스 -> 메뉴 Source -> Generate Getters and Setters 클릭 -> 메소드 자동 생성

School 클래스 생성 (메인메소드 없음)

// 필드
private Student[] students;
private int idx;  // students 배열의 인덱스. students 배열에 저장된 학생 수와 같다.
// 생성자
public School(int cnt) {
	students = new Student[cnt];
}
// 메소드
public void addStrudent(Student student) {
	if(idx == students.length) {
		System.out.println("Full");
		return;
	}
	students[idx++] = student;
}
// for문
public void printStudents() {
	for(int i = 0; i < idx; i++) {
		System.out.println(students[i].getName() + ", " + students[i].getStuNo());
	}
}
// 향상for문
for(Student student : students) {
	if(student != null) {
	System.out.println(student.getName() + ", " + student.getStuNo());
	}
}

SchoolMain 클래스 생성 (메인메소드 생성)

Student student = new Student();
student.setStuNo("11025");
student.setName("전지현");
Student student2 = new Student("11026", "정우성");
School school = new school(2);
school.printStudents();
school.addStrudent(student1);
school.addStrudent(student2);
school.addStrudent(student1);

출력:
Full
전지현, 11025
정우성, 11026

0개의 댓글