//Student.java
public class Student
{
private String student_name; //학생 이름
private int computer_grade; //컴퓨터 점수
public Student() {}
public Student(String student_name, int computer_grade) //생성자
{
this.student_name = student_name; //학생 이름
this.computer_grade = computer_grade; //컴퓨터 성적 설정
}
public String getName()
{
return this.student_name;
}
public int getAverage()
{
return this.computer_grade;
}
public void setGrade(int grade)
{
System.out.println("컴퓨터 점수 변경!");
this.computer_grade = grade;
}
}
//Science.java
public class Science extends Student
{
private int science_grade; //과학 점수 입력
public Science() {}
public Science(String student_name, int computer_grade, int science_grade)
{
super(student_name, computer_grade); //부모 클래스 학생 이름, 컴퓨터성적 설정
this.science_grade = science_grade; //과학 점수 입력
}
public String getName()
{
return super.getName();
}
public int getScienceGrade()
{
return this.science_grade;
}
public int getAverage()
{
return (super.getAverage() + science_grade) / 2;
}
public void setGrade(int grade)
{
System.out.println("과학 점수 변경!");
this.science_grade = grade;
}
}
//LiberalArts.java
public class LiberalArts extends Student
{
private int liberalarts_grade; //과학 점수 입력
public LiberalArts() {}
public LiberalArts(String student_name, int computer_grade, int liberalarts_grade)
{
super(student_name, computer_grade); //부모 클래스, 학생 이름, 컴퓨터성적 설정
this.liberalarts_grade = liberalarts_grade; //사회 점수 입력
}
public String getName()
{
return super.getName();
}
public int getScienceGrade()
{
return this.liberalarts_grade;
}
public int getAverage()
{
return (super.getAverage() + liberalarts_grade) / 2;
}
public void setGrade(int grade)
{
System.out.println("사회 점수 변경!");
this.liberalarts_grade = grade;
}
}
//StudentTest.java
public class StudentTest
{
public static void main(String[] args)
{
Student[] studentList = new Student[5];
studentList[0] = new Student("짱구", 25); //부모 클래스 호출
studentList[1] = new Science("주희", 100, 50); //자식 클래스 호출
studentList[2] = new LiberalArts("김영주", 37, 61); //자식 클래스 호출
studentList[3] = new Science("엽기동", 100, 100);
studentList[4] = new LiberalArts("강석찬", 10, 20);
for(int i = 0; i < studentList.length; i++) //배열 수 만큼 출력
{
System.out.println("이름 : " + studentList[i].getName()); //학생 이름 출력
System.out.println("평균 : " + studentList[i].getAverage()); //현재 평균 출력
studentList[i].setGrade(50); //과학, 사회, 컴퓨터 성적 변경!
System.out.println("바뀐 평균 : " + studentList[i].getAverage()); //바뀐 평균 출력
System.out.println();
}
}
}
javac Student.java
javac Science.java
javac LiberalArts.java
javac StudentTest.java
java StudentTest
이름 : 짱구
평균 : 25
컴퓨터 점수 변경!
바뀐 평균 : 50
이름 : 주희
평균 : 75
과학 점수 변경!
바뀐 평균 : 75
이름 : 김영주
평균 : 49
사회 점수 변경!
바뀐 평균 : 43
이름 : 엽기동
평균 : 100
과학 점수 변경!
바뀐 평균 : 75
이름 : 강석찬
평균 : 15
사회 점수 변경!
바뀐 평균 : 30
'Java' 카테고리의 다른 글
Overloading, Overriding (Java) (0) | 2021.10.21 |
---|---|
java 클래스 구현, 상속, 자동차 예제 (0) | 2021.10.21 |