코딩/java

학생 정보 (함수 재정의)

런던전통손만두 2019. 3. 8. 16:27
반응형

public class Student {

private int id;

private int tuition;

private double gpa;

 

public void setTuition(int tuition) {this.tuition = tuition;};

public void setGpa(double gpa) {this.gpa = gpa;};

public int getId() {return id;};

public int getTuition() {return tuition;};

public double getGpa() {return gpa;};

 

public int clacScholarship() {

return tuition / 2;

  }

 

public String toString() {

return "학번: " + id + ", 등록금: " + tuition + ", 평균등급: " + gpa + ", 장학금: " + clacScholarship();

  }

 

public Student () {

this.id = 0;

this.tuition = 0;

this.gpa = 0;

 }

 

public Student (int id, int tuition, double gpa) {

this.id = id;

this.tuition = tuition;

this.gpa = gpa;

  }

}

 

 

 

public class Undergraduate extends Student{

private int year;

 

public void setYear(int year) {this.year = year;};

public int getYear() {return year;};

 

public int clacScholarship() {

return getTuition() * 3 / 10;

  }

 

public String toString() {

return super.toString() + ", 학년: " + year;

  }

 

public Undergraduate() {

super();

this.year = 0;

  }

 

public Undergraduate(int id, int tuition, double gpa, int year) {

super(id, tuition, gpa);

this.year = year;

  }

}

 

 

public class Graduate extends Student{

private String lab;

 

public void setLab(String lab) {this.lab = lab;};

public String getLab() {return lab;};

 

public int clacScholarship() {

if (getGpa() >= 3.5) {

return getTuition() / 2;

} else {

return getTuition() / 10;

        }

  }

 

public String toString() {

return super.toString() + ", 연구실: " + lab;

  }

 

public Graduate() {

super();

this.lab = "None";

 }

 

public Graduate(int id, int tuition, double gpa, String lab) {

super(id, tuition, gpa);

this.lab = lab;

  }

}

 

 

public class Practice_73 {

 

public static void main(String[] args) {

Student S1 = new Student(1111, 100, 3.2);

Undergraduate S2 = new Undergraduate(2222, 100, 4.1, 3);

Graduate S3 = new Graduate(3333, 100, 3.4, "SE");

 

System.out.println(S1.toString());

System.out.println(S2.toString());

System.out.println(S3.toString());

 }

}

 

 

결과:

 

 

반응형