상속
클래스간의 상호작용
-하나의 사람을 의미하는 Person 클래스를 생성합니다.
-Person을 상속받아 하나의 학생을 의미하는 Studuent 클래스를 의미합니다.
-Student 클래스를 이용하여 객체를 생성합니다.
Person class
public class Person {
private String name;
private int age;
private int height;
private int weight;
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 getHeight() {
return height;
}
public void setHeight(int height) {
this.height = height;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
//생성자라는것은 하나의 인스턴스를만들때 자동으로 그 인스턴스가 가지는 변수를 초기화 시켜주는 함수
public Person(String name, int age, int height, int weight) {
super();
this.name = name;
this.age = age;
this.height = height;
this.weight = weight;
}
}
Student class
public class Student extends Person {
private String studentID;
private int grade;
private double GPA;
public String getStudentID() {
return studentID;
}
public void setStudentID(String studentID) {
this.studentID = studentID;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public double getGPA() {
return GPA;
}
public void setGPA(double gPA) {
GPA = gPA;
}
public Student(String name, int age, int height, int weight, String studentID, int grade, double gPA) {
super(name, age, height, weight);
this.studentID = studentID;
this.grade = grade;
GPA = gPA;
}
public void show() {
System.out.println("-------------------------");
System.out.println("학생 이름 :" + getName());
System.out.println("학생 나이 :" + getAge());
System.out.println("학생 키 :" + getHeight());
System.out.println("학생 몸무게 :" + getWeight());
System.out.println("학번 :" + getStudentID());
System.out.println("학년 :" + getGrade());
System.out.println("학점 :" + getGPA());
}
}
Main class
public class Main {
public static void main(String[] args) {
// 인스턴스를 만들어준다.
Student student1 = new Student("홍길동", 20, 175, 70, "2017101", 1, 4.5);
Student student2 = new Student("이순신", 30, 175, 80, "2017101", 4, 3.0);
student1.show();
student2.show();
}
}
메인함수는 짧아지고 실제 클래스들을 이렇게 사용하고 각각의 틀을 사용하는것은 메인 메소드입니다.
상속받은 클래스를 이용해서 변수를 만들고 활용하는것입니다.
객체지향의 장점이자 개별적 특성을 세부적 분류해서 관리하는 기법입니다.
'IT > Java' 카테고리의 다른 글
[JAVA]인터페이스 (0) | 2020.12.13 |
---|---|
[JAVA]추상 개념을 이용한 음악 플레이어 구현하기 (0) | 2020.12.13 |
[JAVA] Node클래스를 이용한 두 점 사이의 중점을 구하는 프로그램 (0) | 2020.12.11 |
런타임 에러 해결법. (0) | 2020.12.09 |
[JAVA] 10 x 10 의 정수 랜덤 데이터를 구하는 프로그램 (0) | 2020.12.09 |